/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(10,21,38,0.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.logo{
  display:flex; align-items:center; gap:0.7rem;
  font-family:var(--font-display); font-weight:600;
  font-size:1.15rem; color:var(--paper); letter-spacing:-0.01em;
}
.logo svg{width:34px;height:34px;flex-shrink:0;}
.logo .logo-sub{
  display:block; font-family:var(--font-mono); font-size:0.6rem;
  letter-spacing:0.16em; color:var(--slate); font-weight:400; text-transform:uppercase;
  margin-top:2px;
}
/* Chip claro atrás da logo real: a arte foi desenhada com brilho para
   fundo branco, então mantemos um "cartão" claro em vez de aplicá-la
   direto sobre o fundo escuro do site (perderia contraste). */
.logo-chip{
  display:inline-flex; align-items:center;
  background:var(--paper);
  border-radius:var(--radius-sm);
  padding:0.4rem 0.7rem;
  line-height:0;
}
.logo-chip img{height:28px; width:auto; display:block;}
.footer-brand .logo-chip img{height:34px;}
@media (max-width:640px){
  .logo-chip img{height:24px;}
}

.nav-desktop{display:flex; align-items:center; gap:var(--sp-3);}
.nav-desktop a{
  font-size:var(--fs-sm); color:var(--paper-dim);
  transition:color .2s var(--ease-signal);
  position:relative;
  white-space:nowrap;
}
.nav-desktop a:hover{color:var(--signal-cyan);}
.nav-desktop .nav-links{display:flex; gap:var(--sp-3); list-style:none;}

/* .nav-cta precisa vencer ".nav-desktop a" em especificidade (ambas
   selecionam o mesmo link), senão o texto claro do menu vaza para
   dentro do botão verde e some de tanto contraste ruim. */
.nav-desktop a.nav-cta,
.nav-cta{
  display:inline-flex; align-items:center; gap:0.5rem;
  background:var(--wa-green); color:#06210F !important;
  font-weight:700; font-size:var(--fs-xs);
  padding:0.6rem 1.1rem; border-radius:var(--radius-pill);
  transition:transform .2s var(--ease-signal), background .2s;
  white-space:nowrap;
  flex-shrink:0;
}
.nav-desktop a.nav-cta:hover,
.nav-cta:hover{background:#39E37D; transform:translateY(-1px); color:#06210F;}

.nav-toggle{
  display:none; background:none; border:1px solid var(--line-strong);
  border-radius:var(--radius-sm); width:42px; height:42px;
  align-items:center; justify-content:center; cursor:pointer;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:18px; height:2px; background:var(--paper);
  position:relative; transition:transform .25s, opacity .25s;
}
.nav-toggle span::before{position:absolute; top:-6px;}
.nav-toggle span::after{position:absolute; top:6px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}

.nav-mobile{
  display:none;
  position:fixed; inset:76px 0 0 0; z-index:49;
  background:var(--ink-950);
  padding:var(--sp-4);
  overflow-y:auto;
}
.nav-mobile.open{display:block;}
.nav-mobile ul{display:flex; flex-direction:column; gap:0;}
.nav-mobile a{
  display:block; padding:var(--sp-3) 0; font-size:var(--fs-md);
  font-family:var(--font-display); border-bottom:1px solid var(--line-soft);
}
.nav-mobile .nav-cta{margin-top:var(--sp-4); justify-content:center; width:100%;}

@media (max-width:1180px){
  .nav-desktop{display:none;}
  .nav-toggle{display:flex;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.55rem;
  padding:0.85rem 1.7rem; border-radius:var(--radius-pill);
  font-weight:600; font-size:var(--fs-sm);
  border:1px solid transparent; cursor:pointer;
  transition:transform .2s var(--ease-signal), background .2s, border-color .2s, color .2s;
  white-space:nowrap;
}
.btn-primary{background:var(--signal-cyan); color:var(--ink-950);}
.btn-primary:hover{background:#4FF0D6; transform:translateY(-2px);}
.btn-ghost{background:transparent; color:var(--paper); border-color:var(--line-strong);}
.btn-ghost:hover{border-color:var(--signal-cyan); color:var(--signal-cyan);}
.btn-whatsapp{background:var(--wa-green); color:#06210F;}
.btn-whatsapp:hover{background:#39E37D; transform:translateY(-2px);}
.btn-lg{padding:1.05rem 2.1rem; font-size:var(--fs-base);}

/* ---------- Hero ---------- */
.hero{padding-top:var(--sp-6); overflow:hidden;}
.hero-grid{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:var(--sp-5);
  align-items:center;
}
.hero-copy h1{
  font-size:clamp(2.3rem, 4.6vw, var(--fs-3xl));
  margin:var(--sp-3) 0 var(--sp-3);
}
.hero-copy h1 em{
  font-style:normal; color:var(--signal-cyan);
}
.hero-copy p{font-size:var(--fs-md); max-width:34rem;}
.hero-actions{display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-4);}
.hero-meta{
  display:flex; gap:var(--sp-4); margin-top:var(--sp-5);
  flex-wrap:wrap;
}
.hero-meta .stat-num{
  font-family:var(--font-mono); font-size:var(--fs-lg); color:var(--signal-cyan);
  display:block;
}
.hero-meta .stat-label{font-size:var(--fs-xs); color:var(--slate);}

.hero-visual{position:relative; aspect-ratio:1/1; max-width:480px; margin:0 auto;}
.hero-visual svg{width:100%; height:100%;}

/* ---------- Signal path / funil (elemento assinatura) ---------- */
.signal-rail{
  position:relative;
  padding:var(--sp-6) 0;
}
.signal-rail-track{
  position:relative;
  padding-left:2.2rem;
}
.signal-rail-track::before{
  content:"";
  position:absolute; left:9px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(to bottom, var(--signal-cyan), var(--signal-amber));
  opacity:0.4;
}
.signal-node{
  position:relative;
  padding-bottom:var(--sp-5);
}
.signal-node:last-child{padding-bottom:0;}
.signal-node::before{
  content:"";
  position:absolute; left:-2.2rem; top:4px;
  width:20px; height:20px; border-radius:50%;
  background:var(--ink-800); border:2px solid var(--signal-cyan);
  box-shadow:0 0 0 4px rgba(43,228,198,0.1);
}
.signal-node .node-label{
  font-family:var(--font-mono); font-size:var(--fs-2xs);
  letter-spacing:0.12em; text-transform:uppercase; color:var(--signal-amber);
  display:block; margin-bottom:0.35rem;
}
.signal-node h3{font-size:var(--fs-lg); margin-bottom:0.5rem;}
.signal-node p{max-width:40rem; margin-bottom:0;}

/* ---------- Cards ---------- */
.card-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3);
}
.service-card{
  background:var(--ink-800);
  border:1px solid var(--line-soft);
  border-radius:var(--radius-lg);
  padding:var(--sp-4);
  transition:border-color .25s, transform .25s;
  display:flex; flex-direction:column; height:100%;
}
.service-card:hover{border-color:var(--line-strong); transform:translateY(-3px);}
.service-card .icon-wrap{
  width:48px; height:48px; border-radius:var(--radius-sm);
  background:rgba(43,228,198,0.1); display:flex; align-items:center; justify-content:center;
  margin-bottom:var(--sp-3);
}
.service-card .icon-wrap svg{width:24px;height:24px; stroke:var(--signal-cyan);}
.service-card h3{font-size:var(--fs-md); margin-bottom:0.5rem;}
.service-card p{font-size:var(--fs-sm); margin-bottom:var(--sp-3); flex-grow:1;}
.service-card .card-link{
  font-family:var(--font-mono); font-size:var(--fs-2xs); letter-spacing:0.08em;
  text-transform:uppercase; color:var(--signal-cyan); display:inline-flex; align-items:center; gap:0.4rem;
}
.service-card.is-flagship{
  background:linear-gradient(155deg, var(--ink-700), var(--ink-800));
  border-color:rgba(255,178,56,0.35);
}
.service-card.is-flagship .icon-wrap{background:rgba(255,178,56,0.14);}
.service-card.is-flagship .icon-wrap svg{stroke:var(--signal-amber);}
.service-card.is-flagship .card-link{color:var(--signal-amber);}
.tag-flagship{
  font-family:var(--font-mono); font-size:var(--fs-2xs); letter-spacing:0.1em;
  color:var(--signal-amber); text-transform:uppercase; margin-bottom:0.6rem; display:block;
}

@media (max-width:900px){
  .card-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .card-grid{grid-template-columns:1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1; max-width:320px;}
}

/* ---------- Resultados (métricas honestas) ---------- */
.results-band{
  background:var(--ink-800);
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}
.results-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-4);
}
.result-item .stat-num{
  font-family:var(--font-mono); font-size:var(--fs-xl); color:var(--signal-cyan);
  display:block; margin-bottom:0.3rem;
}
.result-item .stat-label{font-size:var(--fs-xs); color:var(--slate); letter-spacing:0.02em;}
.results-note{
  margin-top:var(--sp-4); font-size:var(--fs-xs); color:var(--slate-dim);
  border-top:1px dashed var(--line-soft); padding-top:var(--sp-3);
}
@media (max-width:780px){
  .results-grid{grid-template-columns:1fr 1fr; gap:var(--sp-4) var(--sp-3);}
}

/* ---------- Prova social honesta ---------- */
.proof-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3);}
.proof-card{
  background:var(--ink-800); border:1px dashed var(--line-strong);
  border-radius:var(--radius-md); padding:var(--sp-4);
}
.proof-card .proof-kicker{
  font-family:var(--font-mono); font-size:var(--fs-2xs); color:var(--signal-amber);
  text-transform:uppercase; letter-spacing:0.1em; display:block; margin-bottom:0.6rem;
}
.proof-card p{font-size:var(--fs-sm); margin-bottom:0;}
@media (max-width:900px){.proof-grid{grid-template-columns:1fr;}}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;}
.faq-item{border-bottom:1px solid var(--line-soft);}
.faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  padding:var(--sp-3) 0; cursor:pointer; font-family:var(--font-display);
  font-size:var(--fs-base); list-style:none; color:var(--paper);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+"; font-family:var(--font-mono); font-size:1.3rem; color:var(--signal-cyan);
  transition:transform .2s;
  flex-shrink:0;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding-bottom:var(--sp-3); max-width:56rem;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(135deg, var(--ink-800), var(--ink-700));
  border-radius:var(--radius-lg);
  padding:var(--sp-5);
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4);
  border:1px solid var(--line-soft);
}
.cta-band h2{font-size:var(--fs-lg); margin-bottom:0.4rem;}
.cta-band p{margin-bottom:0;}
@media (max-width:780px){
  .cta-band{flex-direction:column; text-align:center;}
}

/* ---------- Footer ---------- */
.site-footer{
  border-top:1px solid var(--line-soft);
  padding:var(--sp-5) 0 var(--sp-4);
}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--sp-4);
  padding-bottom:var(--sp-4);
}
.footer-col h4{
  font-family:var(--font-mono); font-size:var(--fs-2xs); letter-spacing:0.1em;
  text-transform:uppercase; color:var(--slate); margin-bottom:var(--sp-2);
}
.footer-col ul li{margin-bottom:0.55rem;}
.footer-col a{color:var(--paper-dim); font-size:var(--fs-sm);}
.footer-col a:hover{color:var(--signal-cyan);}
.footer-brand p{font-size:var(--fs-sm); max-width:22rem;}
.footer-social{display:flex; gap:0.7rem; margin-top:var(--sp-2);}
.footer-social a{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center;
}
.footer-social a:hover{border-color:var(--signal-cyan);}
.footer-social svg{width:16px; height:16px; stroke:var(--paper-dim);}
.footer-bottom{
  border-top:1px solid var(--line-soft); padding-top:var(--sp-3);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--sp-2);
  font-size:var(--fs-2xs); color:var(--slate-dim); font-family:var(--font-mono);
}
@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
}

/* ---------- WhatsApp float button (fixo, desktop + mobile) ---------- */
.wa-float{
  position:fixed;
  right:1.4rem;
  bottom:1.4rem;
  z-index:60;
  display:flex;
  align-items:center;
  gap:0.6rem;
  background:var(--wa-green);
  color:#06210F;
  padding:0.85rem 1.1rem;
  border-radius:var(--radius-pill);
  box-shadow:0 8px 24px rgba(0,0,0,0.35), 0 0 0 0 rgba(37,211,102,0.5);
  font-weight:600;
  font-size:var(--fs-sm);
  animation:wa-breathe 2.8s ease-in-out infinite;
}
.wa-float svg{width:24px; height:24px; flex-shrink:0;}
.wa-float:hover{background:#39E37D;}
.wa-float .wa-text{white-space:nowrap;}
@keyframes wa-breathe{
  0%,100%{box-shadow:0 8px 24px rgba(0,0,0,0.35), 0 0 0 0 rgba(37,211,102,0.45);}
  50%{box-shadow:0 8px 24px rgba(0,0,0,0.35), 0 0 0 9px rgba(37,211,102,0);}
}
@media (prefers-reduced-motion: reduce){
  .wa-float{animation:none;}
}
@media (max-width:640px){
  .wa-float{
    right:0.9rem; bottom:0.9rem;
    padding:0.85rem; border-radius:50%;
  }
  .wa-float .wa-text{display:none;}
}

/* ---------- Page hero (páginas internas) ---------- */
.page-hero{padding:var(--sp-6) 0 var(--sp-5);}
.breadcrumb{
  font-family:var(--font-mono); font-size:var(--fs-2xs); color:var(--slate);
  text-transform:uppercase; letter-spacing:0.08em; margin-bottom:var(--sp-3);
  display:flex; gap:0.5rem; align-items:center;
}
.breadcrumb a:hover{color:var(--signal-cyan);}
.page-hero h1{font-size:clamp(2rem, 4vw, var(--fs-2xl)); max-width:46rem;}
.page-hero .lead{font-size:var(--fs-md); max-width:42rem;}

.two-col{display:grid; grid-template-columns:1.2fr 0.8fr; gap:var(--sp-5); align-items:start;}
@media (max-width:900px){.two-col{grid-template-columns:1fr;}}

.stat-side{
  background:var(--ink-800); border:1px solid var(--line-soft);
  border-radius:var(--radius-lg); padding:var(--sp-4);
  position:sticky; top:100px;
}
.stat-side h3{font-size:var(--fs-base); margin-bottom:var(--sp-3);}
.stat-side .side-stat{display:flex; justify-content:space-between; padding:0.6rem 0; border-bottom:1px solid var(--line-soft); font-size:var(--fs-sm);}
.stat-side .side-stat:last-child{border-bottom:none;}
.stat-side .side-stat b{font-family:var(--font-mono); color:var(--signal-cyan);}

.check-list li{
  display:flex; gap:0.7rem; padding:0.55rem 0; align-items:flex-start;
  color:var(--paper-dim); font-size:var(--fs-sm);
}
.check-list svg{width:18px; height:18px; flex-shrink:0; margin-top:2px; stroke:var(--signal-cyan);}

.blog-empty{
  border:1px dashed var(--line-strong); border-radius:var(--radius-lg);
  padding:var(--sp-6) var(--sp-4); text-align:center;
}
.blog-empty h2{font-size:var(--fs-lg);}
.blog-empty p{max-width:32rem; margin:0 auto var(--sp-3);}
