/* =========================================================
   Domínio Contabilidade — Premium V14
   Ajustes finais: centralização, mobile e animações premium
   ========================================================= */

:root{--premium-green:#00ca78;--premium-dark:#061513;--premium-deep:#020b0a;--premium-card:#0d1c19;--premium-shadow:0 28px 80px rgba(0,0,0,.18)}

/* ---------- Animações premium ---------- */
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes glowPulse{0%,100%{box-shadow:0 14px 34px rgba(0,202,120,.22)}50%{box-shadow:0 18px 48px rgba(0,202,120,.42)}}
@keyframes slideShine{0%{transform:translateX(-140%)}100%{transform:translateX(140%)}}
@keyframes fadeUpPremium{0%{opacity:0;transform:translateY(32px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}

.reveal.on{animation:fadeUpPremium .75s cubic-bezier(.2,.75,.2,1) both!important}
.btn-whatsapp{animation:glowPulse 2.8s ease-in-out infinite}
.btn:after{animation:none}.btn:hover:after{animation:slideShine .75s ease}
.hero-art,.hero-businessman,.final-img,.final-man{animation:softFloat 6s ease-in-out infinite}
.service-card,.card,.compare-card,.purpose-cta,.service-purpose,.phone-card,.dash-card{transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease,border-color .32s ease!important}
.service-card:hover,.card:hover,.compare-card:hover,.purpose-cta:hover,.service-purpose:hover,.phone-card:hover,.dash-card:hover{transform:translateY(-8px)!important;box-shadow:0 30px 90px rgba(0,0,0,.18)!important}
.float-whats{animation:glowPulse 2.2s ease-in-out infinite!important}

/* ---------- Header/mobile premium ---------- */
header{z-index:100!important}.nav{align-items:center!important}.menu a{white-space:nowrap}.mobile-menu-label{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.06)}

/* ---------- Index: comparativo centralizado igual ao layout aprovado ---------- */
body.home #comparativo{padding:76px 0 62px!important;overflow:hidden!important;background:#fff!important;color:#101c19!important}
body.home #comparativo .container{width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}
body.home #comparativo h2{max-width:920px!important;margin-left:auto!important;margin-right:auto!important}
body.home #comparativo .compare-grid{position:relative!important;width:min(1160px,calc(100vw - 56px))!important;max-width:1160px!important;margin:34px auto 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;align-items:stretch!important;justify-content:center!important;left:auto!important;right:auto!important;transform:none!important}
body.home #comparativo .compare-card,body.home #comparativo .purpose-cta{min-height:292px!important;text-align:left!important;box-shadow:0 22px 55px rgba(0,0,0,.10)!important}
body.home #comparativo .bad{background:linear-gradient(135deg,#172420,#0e1715)!important;color:#fff!important;border:0!important;border-radius:16px 0 0 16px!important;padding:30px 32px!important}
body.home #comparativo .bad h3,body.home #comparativo .bad li{color:#fff!important}
body.home #comparativo .good{background:#fff!important;color:#101c19!important;border:2px solid var(--premium-green)!important;border-radius:0!important;padding:0!important;overflow:hidden!important}
body.home #comparativo .good h3{background:#087d4d!important;color:#fff!important;margin:0 0 16px!important;padding:22px 32px!important;border-radius:0!important}
body.home #comparativo .good ul{padding:0 32px 24px!important;margin:0!important}
body.home #comparativo .good li{color:#111916!important}
body.home #comparativo .purpose-cta{background:radial-gradient(circle at 25% 50%,rgba(0,202,120,.18),transparent 26%),linear-gradient(135deg,#061513,#0a3028)!important;border-radius:0 16px 16px 0!important;color:#fff!important;padding:30px 32px!important;display:grid!important;grid-template-columns:66px 1fr!important;gap:18px!important;align-items:center!important}
body.home #comparativo .purpose-cta h3{color:var(--premium-green)!important;font-size:23px!important;margin:0 0 8px!important}
body.home #comparativo .purpose-cta p{color:#e3eeeb!important;font-size:15px!important;max-width:360px!important;margin-bottom:18px!important}
body.home #comparativo .purpose-cta .btn{width:max-content!important;padding:12px 18px!important;font-size:13px!important;margin-top:4px!important}
body.home #comparativo .purpose-cta .icon-ring{width:62px!important;height:62px!important;margin:0!important;border-radius:50%!important;background:rgba(0,202,120,.12)!important;border:1px solid rgba(0,202,120,.30)!important;color:var(--premium-green)!important;display:flex!important;align-items:center!important;justify-content:center!important}
body.home #comparativo .vs{position:absolute!important;left:calc(33.333% - 31px)!important;top:50%!important;transform:translateY(-50%)!important;width:62px!important;height:62px!important;border-radius:50%!important;background:#071b18!important;color:#fff!important;border:4px solid #fff!important;z-index:9!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important;box-shadow:0 14px 34px rgba(0,0,0,.24)!important}

/* ---------- Serviços: mesma estética do comparativo aprovado ---------- */
body:not(.home) .white .compare{position:relative!important;width:min(1160px,calc(100vw - 56px))!important;max-width:1160px!important;margin:34px auto 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;align-items:stretch!important}
body:not(.home) .white .compare .compare-card{min-height:292px!important;border-radius:0!important;padding:30px 32px!important;box-shadow:0 22px 55px rgba(0,0,0,.10)!important;text-align:left!important}
body:not(.home) .white .compare .compare-card:not(.good){background:linear-gradient(135deg,#172420,#0e1715)!important;color:#fff!important;border:0!important;border-radius:16px 0 0 16px!important}
body:not(.home) .white .compare .compare-card:not(.good) h3,body:not(.home) .white .compare .compare-card:not(.good) li{color:#fff!important}
body:not(.home) .white .compare .compare-card.good{background:#fff!important;color:#101c19!important;border:2px solid var(--premium-green)!important;border-radius:0!important;padding:0!important;overflow:hidden!important;box-shadow:0 22px 55px rgba(0,0,0,.10)!important}
body:not(.home) .white .compare .compare-card.good h3{background:#087d4d!important;color:#fff!important;margin:0 0 16px!important;padding:22px 32px!important;border-radius:0!important}
body:not(.home) .white .compare .compare-card.good ul{padding:0 32px 24px!important;margin:0!important}
body:not(.home) .white .compare .compare-card.good li,body:not(.home) .white .compare .compare-card.good .check-list li{color:#111916!important}
body:not(.home) .white .compare .compare-card.good .check-list li:before{background:var(--premium-green)!important;color:#fff!important}
body:not(.home) .white .compare .service-purpose{min-height:292px!important;background:radial-gradient(circle at 25% 50%,rgba(0,202,120,.18),transparent 26%),linear-gradient(135deg,#061513,#0a3028)!important;border-radius:0 16px 16px 0!important;color:#fff!important;padding:30px 32px!important;display:grid!important;grid-template-columns:66px 1fr!important;gap:18px!important;align-items:center!important;text-align:left!important;box-shadow:0 22px 55px rgba(0,0,0,.10)!important}
body:not(.home) .white .compare .service-purpose h3{color:var(--premium-green)!important;font-size:23px!important;margin:0 0 8px!important}
body:not(.home) .white .compare .service-purpose p{color:#e3eeeb!important;font-size:15px!important;max-width:360px!important;margin-bottom:18px!important}
body:not(.home) .white .compare .service-purpose .btn{width:max-content!important;padding:12px 18px!important;font-size:13px!important;margin-top:4px!important}
body:not(.home) .white .compare>.vs{position:absolute!important;left:calc(33.333% - 31px)!important;top:50%!important;transform:translateY(-50%)!important;width:62px!important;height:62px!important;border-radius:50%!important;background:#071b18!important;color:#fff!important;border:4px solid #fff!important;z-index:9!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important;box-shadow:0 14px 34px rgba(0,0,0,.24)!important}

/* ---------- Serviços: imagem do header mais alta e elegante ---------- */
body:not(.home) .hero{padding-top:118px!important;padding-bottom:54px!important;min-height:650px!important}
body:not(.home) .hero-grid{align-items:center!important;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important}
body:not(.home) .hero-art{height:540px!important;min-height:460px!important;background:url('hero_businessman_blend.png') center top/contain no-repeat!important;transform:translateY(-70px)!important;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35))!important}
body:not(.home) .hero-art:after{display:none!important}

/* ---------- Dashboard: mais impacto e responsivo ---------- */
.dashboard-cta{padding:82px 0!important}.dashboard-demo{perspective:1200px}.phone-card{transform:rotateY(-4deg)}.dash-card{transform:rotateY(4deg)}.dashboard-arrow{animation:glowPulse 2.5s ease-in-out infinite}.chat-bubble.sent{position:relative}.chat-bubble.sent:after{content:"";position:absolute;right:12px;bottom:-7px;border:8px solid transparent;border-top-color:#d9fdd3}.mini-chart:after{animation:softFloat 4s ease-in-out infinite}

/* ---------- Mobile premium ---------- */
@media(max-width:1050px){
  body.home #comparativo .compare-grid,body:not(.home) .white .compare{grid-template-columns:1fr!important;gap:16px!important;width:min(720px,calc(100vw - 36px))!important;max-width:720px!important}
  body.home #comparativo .bad,body.home #comparativo .good,body.home #comparativo .purpose-cta,body:not(.home) .white .compare .compare-card:not(.good),body:not(.home) .white .compare .compare-card.good,body:not(.home) .white .compare .service-purpose{border-radius:18px!important;min-height:auto!important}
  body.home #comparativo .vs,body:not(.home) .white .compare>.vs{position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin:-8px auto!important}
  body.home #comparativo .purpose-cta,body:not(.home) .white .compare .service-purpose{grid-template-columns:1fr!important}
  body.home #comparativo .purpose-cta .btn,body:not(.home) .white .compare .service-purpose .btn{width:100%!important}
  body:not(.home) .hero-grid{grid-template-columns:1fr!important}.hero-art,body:not(.home) .hero-art{height:390px!important;min-height:320px!important;transform:none!important;background-position:center bottom!important}
  .dashboard-wrap,.dashboard-demo{grid-template-columns:1fr!important}.dashboard-arrow{margin:auto!important;transform:rotate(90deg)!important}.phone-card,.dash-card{transform:none!important}
}
@media(max-width:640px){
  body.home #comparativo{padding:54px 0 42px!important}body.home #comparativo h2{font-size:32px!important;padding:0 18px!important}
  body.home #comparativo .compare-grid,body:not(.home) .white .compare{width:calc(100vw - 28px)!important;gap:14px!important}
  body.home #comparativo .bad,body.home #comparativo .purpose-cta,body:not(.home) .white .compare .compare-card:not(.good),body:not(.home) .white .compare .service-purpose{padding:24px!important}
  body.home #comparativo .good h3,body:not(.home) .white .compare .compare-card.good h3{padding:20px 24px!important}
  body.home #comparativo .good ul,body:not(.home) .white .compare .compare-card.good ul{padding:0 24px 22px!important}
  .dashboard-cta{padding:56px 0!important}.dashboard-copy h2{font-size:34px!important}.phone-card,.dash-card{min-height:auto!important;border-radius:22px!important}.metric strong{font-size:24px!important}
  body:not(.home) .hero{min-height:auto!important;padding-top:44px!important}.hero-art,body:not(.home) .hero-art{height:320px!important;min-height:300px!important}
  .btn{white-space:normal!important;text-align:center!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* =========================================================
   V15 — NÍVEL ABSURDO: centralização blindada + microinterações
   ========================================================= */
body.home #comparativo{
  position:relative!important;
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:82px 0 68px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 38%, rgba(0,202,120,.055), transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;
}
body.home #comparativo::before{
  content:"";
  position:absolute;
  inset:18px auto auto 50%;
  width:min(980px,86vw);
  height:280px;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(0,202,120,.11),transparent 67%);
  filter:blur(26px);
  pointer-events:none;
  opacity:.72;
}
body.home #comparativo .container{
  position:relative!important;
  z-index:2!important;
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
  padding:0 20px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
body.home #comparativo .eyebrow{
  color:#00ca78!important;
  letter-spacing:.9px!important;
  text-shadow:0 0 28px rgba(0,202,120,.18)!important;
}
body.home #comparativo h2{
  width:100%!important;
  max-width:920px!important;
  margin:0 auto 36px!important;
  text-align:center!important;
}
body.home #comparativo .compare-grid{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:min(1160px,calc(100vw - 56px))!important;
  max-width:1160px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  justify-content:center!important;
  justify-items:stretch!important;
  box-sizing:border-box!important;
  filter:drop-shadow(0 24px 56px rgba(0,0,0,.10));
}
body.home #comparativo .compare-card,
body.home #comparativo .purpose-cta{
  min-height:292px!important;
  box-shadow:none!important;
  border-radius:0!important;
  transform:translateZ(0);
  backface-visibility:hidden;
}
body.home #comparativo .bad{
  border-radius:18px 0 0 18px!important;
  background:
    radial-gradient(circle at 15% 15%,rgba(255,255,255,.07),transparent 34%),
    linear-gradient(135deg,#172420,#0d1714)!important;
  border:1px solid rgba(255,255,255,.05)!important;
  border-right:0!important;
  padding:32px!important;
}
body.home #comparativo .good{
  background:#fff!important;
  border:2px solid #00ca78!important;
  color:#111916!important;
  border-radius:0!important;
  padding:0!important;
  overflow:hidden!important;
  position:relative!important;
  z-index:2!important;
}
body.home #comparativo .good::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0%,rgba(0,202,120,.08) 44%,transparent 58%);
  transform:translateX(-120%);
  opacity:0;
  pointer-events:none;
}
body.home #comparativo .good:hover::after{animation:slideShine .9s ease forwards;opacity:1}
body.home #comparativo .good h3{
  background:linear-gradient(135deg,#0a8b56,#087548)!important;
  color:#fff!important;
  padding:24px 32px!important;
  margin:0 0 16px!important;
  text-shadow:0 10px 22px rgba(0,0,0,.16)!important;
}
body.home #comparativo .good ul{padding:0 32px 24px!important;margin:0!important}
body.home #comparativo .good li{color:#111916!important;font-weight:850!important}
body.home #comparativo .purpose-cta{
  border-radius:0 18px 18px 0!important;
  background:
    radial-gradient(circle at 17% 50%,rgba(0,202,120,.20),transparent 28%),
    radial-gradient(circle at 95% 15%,rgba(0,202,120,.11),transparent 35%),
    linear-gradient(135deg,#061513,#0a3028)!important;
  border:1px solid rgba(0,202,120,.08)!important;
  border-left:0!important;
  color:#fff!important;
  padding:32px!important;
  display:grid!important;
  grid-template-columns:72px 1fr!important;
  gap:18px!important;
  align-items:center!important;
  text-align:left!important;
}
body.home #comparativo .purpose-cta .icon-ring{animation:glowPulse 3s ease-in-out infinite!important}
body.home #comparativo .purpose-cta .btn{align-self:start!important;width:max-content!important}
body.home #comparativo .vs{
  position:absolute!important;
  left:calc(33.333% - 31px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:62px!important;
  height:62px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#071b18,#030b0a)!important;
  color:#fff!important;
  border:4px solid #fff!important;
  z-index:10!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-weight:950!important;
  box-shadow:0 16px 40px rgba(0,0,0,.26),0 0 0 8px rgba(0,202,120,.08)!important;
  animation:glowPulse 3.4s ease-in-out infinite!important;
}
body.home #comparativo .compare-card:hover,
body.home #comparativo .purpose-cta:hover{
  transform:translateY(-7px) translateZ(0)!important;
  box-shadow:0 28px 72px rgba(0,0,0,.16)!important;
  z-index:4!important;
}
body.home #comparativo .bad:hover{border-color:rgba(0,202,120,.18)!important}
body.home #comparativo .good:hover{box-shadow:0 0 0 1px rgba(0,202,120,.20),0 28px 72px rgba(0,202,120,.12)!important}

@media(max-width:1050px){
  body.home #comparativo{padding:64px 0 52px!important}
  body.home #comparativo .container{padding:0 18px!important}
  body.home #comparativo .compare-grid{
    width:min(720px,calc(100vw - 36px))!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    filter:none!important;
  }
  body.home #comparativo .bad,
  body.home #comparativo .good,
  body.home #comparativo .purpose-cta{
    border-radius:18px!important;
    border:1px solid rgba(0,202,120,.14)!important;
    min-height:auto!important;
  }
  body.home #comparativo .good{border:2px solid #00ca78!important}
  body.home #comparativo .vs{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    margin:-8px auto!important;
  }
  body.home #comparativo .purpose-cta{grid-template-columns:1fr!important;text-align:left!important}
  body.home #comparativo .purpose-cta .btn{width:100%!important}
}
@media(max-width:640px){
  body.home #comparativo{padding:54px 0 42px!important}
  body.home #comparativo .container{padding:0 14px!important}
  body.home #comparativo h2{font-size:31px!important;line-height:1.08!important;margin-bottom:28px!important}
  body.home #comparativo .compare-grid{width:100%!important;gap:14px!important}
  body.home #comparativo .bad,
  body.home #comparativo .purpose-cta{padding:24px!important}
  body.home #comparativo .good h3{padding:20px 24px!important}
  body.home #comparativo .good ul{padding:0 24px 22px!important}
  body.home #comparativo .compare-card li{font-size:13.5px!important;line-height:1.42!important}
}


/* ===== MOBILE MENU FIX - V16 ===== */
.mobile-menu-toggle{
  display:none;
  width:46px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  -webkit-tap-highlight-color: transparent;
}
.mobile-menu-toggle span{
  width:22px;
  height:2px;
  border-radius:999px;
  background:#fff;
  display:block;
  transition:transform .25s ease, opacity .25s ease;
}
header.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
header.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.no-scroll-menu{overflow:hidden;}
@media(max-width:1050px){
  header .nav{
    display:grid!important;
    grid-template-columns:auto auto!important;
    justify-content:space-between!important;
    align-items:center!important;
    width:min(1180px,92vw)!important;
    margin:0 auto!important;
    gap:14px!important;
  }
  header .mobile-menu-toggle{display:flex!important;justify-self:end!important;}
  header .mobile-menu-label{display:none!important;}
  header .nav>.btn{display:none!important;}
  header .menu{
    display:none!important;
    grid-column:1 / -1!important;
    width:100%!important;
    margin-top:10px!important;
    padding:14px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    background:linear-gradient(145deg,rgba(5,25,22,.98),rgba(3,15,13,.98))!important;
    box-shadow:0 24px 70px rgba(0,0,0,.35)!important;
    border-radius:18px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    position:relative!important;
    z-index:999!important;
  }
  header.menu-open .menu{display:flex!important;}
  header .menu a{
    display:flex!important;
    width:100%!important;
    min-height:44px!important;
    align-items:center!important;
    padding:12px 14px!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:13px!important;
    line-height:1.2!important;
  }
  header .menu a:hover{background:rgba(0,202,120,.16)!important;border-color:rgba(0,202,120,.35)!important;}
}
@media(max-width:640px){
  header{position:relative!important;background:#061513!important;padding:12px 0!important;}
  header .logo img{height:42px!important;max-width:170px!important;object-fit:contain!important;}
  header .menu{max-height:calc(100vh - 86px)!important;overflow:auto!important;}
}
