/* ============================================================
   TARIFA JUSTA — "A Régua"
   Paradigma: BANCADA + FITA (não landing). A ferramenta É a marca.
   Paleta: papel-pauta / verde-contábil / carbono / vermelho-lápis (parcimônia) / azul-carimbo
   Tipografia: Familjen Grotesk (texto) + Space Mono (números/talão)
   ============================================================ */

:root{
  --papel:#F4F1E8;        /* fundo papel-pauta */
  --papel-fundo:#ECE7D7;  /* sombra do papel, divisórias */
  --verde:#2F6B4F;        /* green-bar / SIM / viável */
  --verde-claro:#E2EBE2;  /* faixa de pauta clara */
  --carbono:#1A1A17;      /* tinta / números */
  --vermelho:#C2402D;     /* o "NÃO" / risco — PARCIMÔNIA */
  --azul:#2D5B8E;         /* carimbo de honorário / foco / links */
  --grafite:#5C584D;      /* rótulos secundários — escurecido p/ WCAG AA (4.5:1 sobre papel) */
  --linha:#D8D2C0;        /* linhas finas */
  --tique:#2F6B4F;
}

*{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
html,body{
  margin:0; padding:0;
  background:var(--papel);
  color:var(--carbono);
  font-family:"Familjen Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16px; line-height:1.5;
  overflow-x:hidden;            /* sem zoom horizontal */
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

/* textura de papel — grain MUITO leve via SVG inline, sem custo de rede */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity:.35; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}

mono,.mono,.tab{ font-family:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace; font-variant-numeric:tabular-nums; }
a{ color:var(--azul); text-underline-offset:2px; }
button{ font:inherit; cursor:pointer; }
:focus-visible{ outline:2.5px solid var(--azul); outline-offset:2px; border-radius:2px; }

/* ----- util ----- */
/* trilho fluido: cresce com a viewport até ~1600px, não boia em vazio @1920/2560 */
.wrap{ max-width:min(92vw,1600px); margin:0 auto; padding:0 clamp(16px,4vw,40px); position:relative; z-index:1; }
.sr-only{ position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0; }
.eyebrow{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--grafite); font-weight:600; }
.tabnum{ font-variant-numeric:tabular-nums; }

/* =========================================================
   TOPO — talão de cabeçalho (NÃO header sticky uniforme).
   Linha de guia fiscal: marca à esquerda, "nº da guia" à direita.
   ========================================================= */
.guia{
  position:relative; z-index:2;
  border-bottom:1.5px solid var(--carbono);
  background:var(--papel);
}
.guia__row{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  padding:14px clamp(16px,4vw,40px) 12px;
  max-width:min(92vw,1600px); margin:0 auto;
}
.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--carbono); }
.brand__mark{ flex:0 0 auto; }
.brand__txt b{ display:block; font-weight:700; font-size:1.02rem; letter-spacing:-.01em; line-height:1; }
.brand__txt span{ display:block; font-size:.7rem; color:var(--grafite); letter-spacing:.04em; margin-top:3px; }
.guia__nav{ display:flex; gap:6px; align-items:center; }
.guia__nav a{
  font-size:.82rem; font-weight:600; text-decoration:none; color:var(--carbono);
  padding:7px 11px; border-radius:6px; min-height:36px; display:inline-flex; align-items:center;
}
.guia__nav a:hover{ background:var(--verde-claro); }
.guia__nav a[aria-current="page"]{ color:var(--verde); }
.guia__no{
  text-align:right; line-height:1.1;
}
.guia__no small{ display:block; font-size:.6rem; letter-spacing:.14em; color:var(--grafite); text-transform:uppercase; }
.guia__no b{ font-family:"Space Mono",monospace; font-size:.92rem; color:var(--azul); font-weight:700; }

/* hambúrguer mobile */
.burger{ display:none; background:var(--papel); border:1.5px solid var(--carbono); border-radius:8px;
  width:44px; height:44px; align-items:center; justify-content:center; }
.guia__sheet{ display:contents; }

/* =========================================================
   BANCADA + FITA  — split assimétrico 38 / 62 (desktop)
   ========================================================= */
.bancada-fita{
  display:grid;
  grid-template-columns:minmax(340px,38%) 1fr;
  align-items:start;
  gap:0;
  max-width:min(92vw,1600px); margin:0 auto;
  position:relative; z-index:1;
}
/* acima de ~1500px: mais largura/respiro pra bancada sticky e pra fita */
@media (min-width:1500px){
  .bancada-fita{ grid-template-columns:minmax(420px,34%) 1fr; max-width:min(92vw,1840px); }
}

/* ---- ESQUERDA: a BANCADA (sticky por posição, não header) ---- */
.bancada{
  position:sticky; top:0;
  align-self:start;
  padding:clamp(20px,3vw,44px) clamp(16px,2.6vw,48px) 40px;
  border-right:1.5px dashed var(--linha);
  min-height:100vh;
}
.bancada__kicker{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.bancada__kicker .dot{ width:8px;height:8px;border-radius:50%; background:var(--vermelho); box-shadow:0 0 0 3px rgba(194,64,45,.18); }
.bancada h1{
  font-size:clamp(1.4rem,2.2vw,1.78rem); font-weight:700; letter-spacing:-.02em; line-height:1.08;
  margin:.1rem 0 .35rem;
}
.bancada__lead{ font-size:.95rem; color:var(--grafite); margin:0 0 18px; max-width:34ch; }

/* abas físicas comércio / serviço — pasta suspensa */
.abas{ display:flex; gap:4px; margin:18px 0 6px; }
.aba{
  flex:1; appearance:none; background:var(--papel-fundo); border:1.5px solid var(--linha); border-bottom:none;
  border-radius:9px 9px 0 0; padding:11px 8px; min-height:46px;
  font-weight:600; font-size:.92rem; color:var(--grafite);
  position:relative; top:1.5px; transition:background .18s, color .18s, transform .18s;
}
.aba[aria-selected="true"]{ background:var(--papel); color:var(--carbono); border-color:var(--carbono); z-index:2; }
.aba[aria-selected="true"]::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--papel);
}
.aba small{ display:block; font-weight:400; font-size:.68rem; color:var(--grafite); margin-top:2px; }
.abas-corpo{ border:1.5px solid var(--carbono); border-radius:0 0 11px 11px; padding:18px 16px 20px; background:var(--papel); }

/* campo: faturamento */
.campo{ margin-bottom:18px; }
.campo__lbl{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:8px; }
.campo__lbl label{ font-weight:600; font-size:.9rem; }
.periodo{ display:inline-flex; border:1.5px solid var(--linha); border-radius:999px; overflow:hidden; }
.periodo button{
  background:var(--papel); border:none; padding:5px 11px; min-height:32px; font-size:.74rem; font-weight:600; color:var(--grafite);
}
.periodo button[aria-pressed="true"]{ background:var(--verde); color:var(--papel); }

.fatu-in{
  display:flex; align-items:center; gap:8px;
  border:1.5px solid var(--carbono); border-radius:10px; padding:10px 12px; background:var(--papel);
}
.fatu-in .rs{ font-family:"Space Mono",monospace; color:var(--grafite); font-size:1.05rem; }
.fatu-in input[type=text]{
  flex:1; border:none; background:transparent; width:100%;
  font-family:"Space Mono",monospace; font-size:1.42rem; font-weight:700; color:var(--carbono);
  letter-spacing:-.01em; min-width:0;
}
.fatu-in input:focus{ outline:none; }
.fatu-in .sufx{ font-size:.7rem; color:var(--grafite); white-space:nowrap; }

/* slider — alvo grande */
.slider-row{ margin-top:14px; }
input[type=range]{
  -webkit-appearance:none; appearance:none; width:100%; height:44px; background:transparent; cursor:pointer; margin:0;
}
input[type=range]::-webkit-slider-runnable-track{ height:6px; border-radius:99px; background:linear-gradient(var(--verde),var(--verde)) no-repeat var(--papel-fundo); background-size:var(--fill,40%) 100%; }
input[type=range]::-moz-range-track{ height:6px; border-radius:99px; background:var(--papel-fundo); }
input[type=range]::-moz-range-progress{ height:6px; border-radius:99px; background:var(--verde); }
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:28px; height:28px; margin-top:-11px; border-radius:50%;
  background:var(--papel); border:2.5px solid var(--carbono); box-shadow:0 1px 0 rgba(0,0,0,.18);
}
input[type=range]::-moz-range-thumb{ width:28px; height:28px; border-radius:50%; background:var(--papel); border:2.5px solid var(--carbono); }
.slider-ticks{ display:flex; justify-content:space-between; font-family:"Space Mono",monospace; font-size:.64rem; color:var(--grafite); margin-top:-2px; }

/* opcional folha — desliza pra fora só quando marcado */
.opcional{ margin-top:6px; border-top:1px dashed var(--linha); padding-top:14px; }
.chk{ display:flex; align-items:center; gap:10px; font-size:.88rem; font-weight:600; cursor:pointer; min-height:44px; }
.chk input{ width:20px; height:20px; accent-color:var(--azul); }
.chk small{ font-weight:400; color:var(--grafite); }
.folha-wrap{
  display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease, opacity .22s ease, margin .28s ease;
  opacity:0; margin-top:0;
}
.folha-wrap.is-open{ grid-template-rows:1fr; opacity:1; margin-top:12px; }
.folha-wrap > div{ overflow:hidden; min-height:0; }
.folha-grid{ display:grid; gap:10px; }
.mini-campo label{ display:block; font-size:.78rem; color:var(--grafite); font-weight:600; margin-bottom:4px; }
.mini-in{ display:flex; align-items:center; gap:6px; border:1.5px solid var(--linha); border-radius:8px; padding:8px 10px; background:var(--papel); }
.mini-in .rs{ font-family:"Space Mono",monospace; color:var(--grafite); font-size:.86rem; }
.mini-in input{ flex:1; border:none; background:transparent; font-family:"Space Mono",monospace; font-size:1rem; font-weight:700; min-width:0; }
.mini-in input:focus{ outline:none; }
.fatorr-hint{ font-size:.74rem; color:var(--grafite); margin:8px 0 0; }
.fatorr-hint b{ color:var(--azul); font-family:"Space Mono",monospace; }

/* selo permanente */
.selo{
  display:flex; gap:8px; align-items:flex-start; margin-top:20px;
  font-size:.74rem; color:var(--grafite); line-height:1.35;
  border:1px dashed var(--linha); border-radius:8px; padding:9px 11px; background:var(--papel-fundo);
}
.selo svg{ flex:0 0 auto; margin-top:1px; }

/* ---- DIREITA: a FITA (a estrela) ---- */
.fita-col{ padding:0 0 60px; min-width:0; }
.fita{
  position:relative;
  background:
    repeating-linear-gradient(var(--papel) 0 31px, var(--verde-claro) 31px 62px);
  background-position:0 88px;
  border-left:0;
  margin:0;
}
/* perfuração lateral (SVG) nos dois lados, via ::before/::after */
.fita::before, .fita::after{
  content:""; position:absolute; top:0; bottom:0; width:18px; z-index:2;
  background-image:radial-gradient(circle at 9px 14px, var(--papel-fundo) 3.4px, transparent 3.6px);
  background-size:18px 28px; background-repeat:repeat-y;
}
.fita::before{ left:0; box-shadow:inset 1px 0 0 var(--linha); }
.fita::after{ right:0; box-shadow:inset -1px 0 0 var(--linha); }
.fita__inner{ padding:0 clamp(30px,3.2vw,72px); }

/* cabeçalho da fita (talão) */
.fita-head{
  padding:26px 0 18px; border-bottom:2px dashed var(--carbono);
  display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap;
}
.fita-head .ttl{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grafite); font-weight:700; }
.fita-head .talao-no{ font-family:"Space Mono",monospace; font-weight:700; font-size:1.05rem; color:var(--azul); }
.fita-head .talao-dt{ font-family:"Space Mono",monospace; font-size:.72rem; color:var(--grafite); display:block; text-align:right; }

/* uma "linha" da fita */
.fl{ padding:13px 0 12px; border-bottom:1px solid rgba(216,210,192,.7); }
.fl__top{ display:flex; align-items:center; gap:9px; }
.fl__rot{ font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grafite); font-weight:700; }
.fl__hint{ font-size:.95rem; color:var(--grafite); margin:5px 0 0; }
.fl__hint b{ color:var(--carbono); }

/* veredito MEI viável (SIM/NÃO) */
.veredito{ display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:.96rem; padding:4px 0; }
.veredito.ok{ color:var(--verde); }
.veredito.no{ color:var(--vermelho); }
.veredito .badge{ width:22px; height:22px; border-radius:50%; display:inline-grid; place-items:center; color:var(--papel); flex:0 0 auto; }
.veredito.ok .badge{ background:var(--verde); }
.veredito.no .badge{ background:var(--vermelho); }

/* anexo + alíquota */
.anexo-row{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.chip-anexo{
  font-family:"Space Mono",monospace; font-weight:700; font-size:.8rem; color:var(--azul);
  border:1.5px solid var(--azul); border-radius:6px; padding:3px 8px; background:rgba(45,91,142,.06);
}
.aliq{ font-family:"Space Mono",monospace; font-weight:700; font-size:1.5rem; letter-spacing:-.02em; }
.aliq.alta{ color:var(--vermelho); }

/* IMPOSTO grande — número mono herói */
.imposto{ padding:20px 0 18px; }
.imposto .rot{ font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grafite); font-weight:700; }
.imposto .val{
  font-family:"Space Mono",monospace; font-weight:700; letter-spacing:-.03em;
  font-size:clamp(2.6rem,6.4vw,4.1rem); line-height:1; color:var(--carbono); margin:6px 0 2px;
  display:flex; align-items:baseline; gap:6px;
}
.imposto .val .rs{ font-size:.5em; color:var(--grafite); }
.imposto .val .mes{ font-size:.32em; color:var(--grafite); font-weight:400; letter-spacing:0; }
.imposto .sub{ font-size:.82rem; color:var(--grafite); }
.imposto .sub b{ font-family:"Space Mono",monospace; color:var(--carbono); }

/* comparativo MEI x Simples (clareza verde/vermelho — enxerto Folha Seca) */
.compara{ margin:6px 0 4px; border:1.5px solid var(--linha); border-radius:12px; overflow:hidden; }
.compara__head{ background:var(--papel-fundo); padding:8px 14px; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--grafite); font-weight:700; }
.compara__grid{ display:grid; grid-template-columns:1fr 1fr; }
.compara__col{ padding:14px; }
.compara__col + .compara__col{ border-left:1px solid var(--linha); }
.compara__nome{ font-weight:700; font-size:.92rem; display:flex; align-items:center; gap:6px; }
.compara__big{ font-family:"Space Mono",monospace; font-weight:700; font-size:1.5rem; margin:6px 0 2px; }
.compara__tag{ font-size:.74rem; font-weight:700; display:inline-flex; align-items:center; gap:5px; }
.cab{ color:var(--verde); } .estoura{ color:var(--vermelho); }
.compara__note{ font-size:.76rem; color:var(--grafite); margin-top:4px; }

/* carimbo de honorário */
.carimbo{
  margin:22px 0 6px; position:relative;
  border:2.5px solid var(--azul); border-radius:12px; padding:16px 18px;
  color:var(--azul); background:rgba(45,91,142,.04);
  transform:rotate(-.6deg);
}
.carimbo::after{
  content:"SUGESTÃO"; position:absolute; top:-10px; right:14px; background:var(--papel);
  font-family:"Space Mono",monospace; font-size:.62rem; letter-spacing:.18em; padding:0 6px; color:var(--azul); font-weight:700;
}
.carimbo .plano{ font-weight:700; font-size:1.06rem; color:var(--carbono); }
.carimbo .preco{ font-family:"Space Mono",monospace; font-weight:700; font-size:1.7rem; color:var(--azul); margin:2px 0; }
.carimbo .preco .mes{ font-size:.5em; color:var(--grafite); font-weight:400; }
.carimbo .desc{ font-size:.82rem; color:var(--grafite); }

/* corte serrilhado (mobile destacável) */
.serrilha{ height:14px; background-image:radial-gradient(circle at 7px 12px, var(--papel-fundo) 5px, transparent 5.5px); background-size:14px 14px; background-position:0 1px; border-top:1.5px dashed var(--carbono); margin-top:10px; display:none; }

/* CTA discreto — "levar pro contador" (ícone, não botão gritante) */
.levar{
  display:inline-flex; align-items:center; gap:9px; margin:18px 0 4px;
  border:1.5px solid var(--carbono); border-radius:10px; background:var(--papel);
  padding:11px 15px; min-height:46px; font-weight:600; font-size:.92rem; color:var(--carbono); text-decoration:none;
  transition:transform .16s, background .16s;
}
.levar:hover{ background:var(--verde-claro); transform:translateY(-1px); }
.levar svg{ flex:0 0 auto; }
.copiado{ font-size:.78rem; color:var(--verde); font-weight:700; margin-left:10px; opacity:0; transition:opacity .2s; }
.copiado.show{ opacity:1; }

/* =========================================================
   "COMO LEMOS ISSO" — texto ⇄ número alternados (não grid de ícones)
   ========================================================= */
.lemos{ padding:54px 0 10px; border-top:1.5px solid var(--carbono); margin-top:40px; }
.lemos__h{ font-size:1.5rem; font-weight:700; letter-spacing:-.02em; margin:0 0 4px; }
.lemos__sub{ color:var(--grafite); margin:0 0 26px; max-width:52ch; }
.leitura{ display:grid; grid-template-columns:1fr minmax(150px,220px); gap:18px; align-items:center;
  padding:20px 0; border-bottom:1px solid var(--linha); }
.leitura:nth-child(even){ grid-template-columns:minmax(150px,220px) 1fr; }
.leitura:nth-child(even) .leitura__txt{ order:2; }
.leitura__n{ font-size:.7rem; font-family:"Space Mono",monospace; color:var(--azul); font-weight:700; }
.leitura__t{ font-weight:700; font-size:1.08rem; margin:4px 0 6px; }
.leitura__p{ color:var(--grafite); font-size:.94rem; margin:0; }
.leitura__num{
  font-family:"Space Mono",monospace; font-weight:700; text-align:center;
  border:1.5px solid var(--linha); border-radius:12px; padding:18px 12px; background:var(--papel-fundo);
}
.leitura__num b{ display:block; font-size:1.9rem; letter-spacing:-.02em; color:var(--carbono); }
.leitura__num span{ font-size:.74rem; color:var(--grafite); font-weight:400; }

/* =========================================================
   "O QUE A RÉGUA FAZ / NÃO PROMETE"
   ========================================================= */
.promessa{ padding:48px 0 10px; }
.promessa__grid{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1.5px solid var(--carbono); border-radius:14px; overflow:hidden; }
.promessa__col{ padding:22px clamp(16px,2vw,26px) 26px; }
.promessa__col.faz{ background:rgba(47,107,79,.05); }
.promessa__col.nao{ background:rgba(194,64,45,.045); border-left:1.5px solid var(--carbono); }
.promessa__col h3{ display:flex; align-items:center; gap:8px; font-size:1.04rem; margin:0 0 14px; }
.promessa__col.faz h3{ color:var(--verde); }
.promessa__col.nao h3{ color:var(--vermelho); }
.promessa ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.promessa li{ display:flex; gap:9px; font-size:.92rem; line-height:1.4; }
.promessa li svg{ flex:0 0 auto; margin-top:2px; }

/* =========================================================
   QUEM É / PLANOS — ancorado ao resultado
   ========================================================= */
.quem{ padding:48px 0 10px; }
.quem__lead{ max-width:60ch; }
.quem__lead .big{ font-size:1.2rem; font-weight:500; line-height:1.45; }
.planos{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; }
.plano{
  border:1.5px solid var(--linha); border-radius:14px; padding:18px; background:var(--papel);
  display:flex; flex-direction:column; gap:6px; transition:border-color .18s, transform .18s;
}
.plano.is-rec{ border-color:var(--azul); border-width:2px; }
.plano__tag{ font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--azul); font-weight:700; min-height:1em; }
.plano__nome{ font-weight:700; font-size:1.04rem; }
.plano__preco{ font-family:"Space Mono",monospace; font-weight:700; font-size:1.4rem; }
.plano__preco .mes{ font-size:.52em; color:var(--grafite); font-weight:400; }
.plano__desc{ font-size:.86rem; color:var(--grafite); }

/* =========================================================
   RODAPÉ-TALÃO
   ========================================================= */
.rodape{ margin-top:56px; border-top:2px dashed var(--carbono); }
.rodape__inner{ padding:28px clamp(16px,4vw,40px) 40px; max-width:min(92vw,1600px); margin:0 auto;
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:26px; }
.rodape h4{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--grafite); margin:0 0 10px; }
.rodape p, .rodape a{ font-size:.9rem; color:var(--carbono); }
.rodape a{ display:block; text-decoration:none; padding:3px 0; }
.rodape a:hover{ color:var(--verde); }
.versao{ font-family:"Space Mono",monospace; font-size:.74rem; color:var(--grafite); }
.versao b{ color:var(--carbono); }
.rodape__base{ border-top:1px solid var(--linha); padding:16px clamp(16px,4vw,40px); max-width:min(92vw,1600px); margin:0 auto;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:.78rem; color:var(--grafite); }
.rodape__base a{ color:var(--azul); text-decoration:none; }

/* =========================================================
   FAB WhatsApp (ícone verde) — não cobre CTA
   ========================================================= */
.zap{
  position:fixed; right:16px; bottom:16px; z-index:50;
  width:54px; height:54px; border-radius:50%; background:#25D366;
  display:grid; place-items:center; box-shadow:0 6px 18px rgba(0,0,0,.22);
  transition:transform .18s;
}
.zap:hover{ transform:scale(1.06); }
.zap svg{ width:28px; height:28px; }

/* =========================================================
   BARRA-BANCADA MOBILE (rodapé do polegar) — só mobile
   ========================================================= */
.thumb-bar{ display:none; }

/* count-up flash sutil */
.flash{ animation:flash .5s ease; }
@keyframes flash{ 0%{background:rgba(45,91,142,.16)} 100%{background:transparent} }
@media (prefers-reduced-motion:reduce){ .flash{animation:none} .levar,.plano,.aba{transition:none} }

/* reveal — fail-safe: começa visível-ish, só desloca */
.reveal{ opacity:0; transform:translateY(10px); transition:opacity .5s ease, transform .5s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; } }

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:980px){
  .rodape__inner{ grid-template-columns:1fr 1fr; }
  .planos{ grid-template-columns:1fr; }
  .promessa__grid{ grid-template-columns:1fr; }
  .promessa__col.nao{ border-left:none; border-top:1.5px solid var(--carbono); }
}

@media (max-width:860px){
  /* split colapsa: a FITA vira o documento inteiro; bancada some pro thumb-bar */
  .bancada-fita{ display:block; }
  .bancada{ display:none; }            /* substituída pela thumb-bar fixa */
  .fita-col{ padding-bottom:128px; }   /* espaço pra barra do polegar */
  .fita::before,.fita::after{ width:14px; background-size:14px 24px; background-image:radial-gradient(circle at 7px 12px, var(--papel-fundo) 2.8px, transparent 3px); }
  .fita__inner{ padding:0 22px; }
  .serrilha{ display:block; }

  /* THUMB-BAR: faturamento + abas sempre alcançáveis */
  .thumb-bar{
    display:block; position:fixed; left:0; right:0; bottom:0; z-index:45;
    background:var(--papel); border-top:1.5px solid var(--carbono);
    box-shadow:0 -6px 20px rgba(0,0,0,.12);
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  }
  .thumb-bar__row{ display:flex; align-items:center; gap:10px; }
  .thumb-bar .abas-m{ display:flex; gap:0; border:1.5px solid var(--carbono); border-radius:9px; overflow:hidden; flex:0 0 auto; }
  .thumb-bar .abas-m button{ background:var(--papel); border:none; padding:0 12px; height:44px; font-weight:700; font-size:.82rem; color:var(--grafite); }
  .thumb-bar .abas-m button[aria-selected="true"]{ background:var(--verde); color:var(--papel); }
  .thumb-bar .fatu-m{ flex:1; display:flex; align-items:center; gap:6px; border:1.5px solid var(--carbono); border-radius:9px; padding:0 10px; height:44px; min-width:0; }
  .thumb-bar .fatu-m .rs{ font-family:"Space Mono",monospace; color:var(--grafite); font-size:.9rem; }
  .thumb-bar .fatu-m input{ flex:1; border:none; background:transparent; font-family:"Space Mono",monospace; font-weight:700; font-size:1.1rem; min-width:0; }
  .thumb-bar .fatu-m input:focus{ outline:none; }
  .thumb-bar__slider{ margin-top:0; }
  .thumb-bar__slider input[type=range]{ height:44px; }
  .thumb-bar__meta{ display:flex; justify-content:space-between; font-family:"Space Mono",monospace; font-size:.62rem; color:var(--grafite); margin-top:-2px; }
  .thumb-bar .det-btn{ background:none; border:none; color:var(--azul); font-weight:700; font-size:.74rem; padding:4px; min-height:auto; text-decoration:underline; }

  .zap{ bottom:140px; }                /* não cobre a thumb-bar nem o CTA */

  .imposto .val{ font-size:clamp(2.8rem,13vw,3.6rem); }
  .leitura, .leitura:nth-child(even){ grid-template-columns:1fr; gap:10px; }
  .leitura:nth-child(even) .leitura__txt{ order:0; }
  .compara__grid{ grid-template-columns:1fr; }
  .compara__col + .compara__col{ border-left:none; border-top:1px solid var(--linha); }
  .rodape__inner{ grid-template-columns:1fr; gap:18px; }

  /* nav vira sheet */
  .burger{ display:inline-flex; }
  .guia__nav{
    position:fixed; inset:0 0 0 auto; width:min(78vw,300px); z-index:60;
    background:var(--papel); border-left:1.5px solid var(--carbono);
    flex-direction:column; align-items:stretch; gap:2px; padding:64px 16px 24px;
    transform:translateX(100%); transition:transform .26s ease;
  }
  .guia__nav.open{ transform:none; box-shadow:-12px 0 30px rgba(0,0,0,.18); }
  .guia__nav a{ font-size:1rem; padding:13px 12px; border-bottom:1px solid var(--linha); }
  .scrim{ position:fixed; inset:0; background:rgba(26,26,23,.4); z-index:55; opacity:0; pointer-events:none; transition:opacity .22s; }
  .scrim.open{ opacity:1; pointer-events:auto; }
}
@media (min-width:861px){ .scrim{display:none} }

/* tela cheia do /simulador: fita ocupa o palco */
body.full .lemos, body.full .promessa, body.full .quem{ display:none; }
body.full .fita-col{ min-height:100vh; }
