/* Layout: folha de planilha. Cabeçalho simples, hero em duas colunas (tese + memória de cálculo),
   seções separadas por réguas finas, cantos retos, números em fonte monoespaçada. */
:root{
  --paper:#EEF0F3;
  --surface:#FAFBFC;
  --ink:#141A2E;
  --muted:#4A5468;
  --rule:#CDD2DC;
  --line:#939CAE;
  --accent:#981830;
  --on-accent:#FFF6F7;
  --mark:#981830;
  --good:#1E6B4C;
  --logo-bg:transparent;
  --grid:rgba(20,26,46,.05);
  --font-display:"Source Serif 4",Georgia,"Times New Roman",serif;
  --font-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0F131C;
    --surface:#171C28;
    --ink:#E8EBF2;
    --muted:#A7B0C2;
    --rule:#2B3345;
    --line:#4C566B;
    --accent:#E57D8F;
    --on-accent:#1A0A10;
    --mark:#E57D8F;
    --good:#6FCBA6;
    --logo-bg:#F2F4F8;
    --grid:rgba(232,235,242,.05);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0F131C;
  --surface:#171C28;
  --ink:#E8EBF2;
  --muted:#A7B0C2;
  --rule:#2B3345;
  --line:#4C566B;
  --accent:#E57D8F;
  --on-accent:#1A0A10;
  --mark:#E57D8F;
  --good:#6FCBA6;
  --logo-bg:#F2F4F8;
  --grid:rgba(232,235,242,.05);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;
  padding-left:max(16px,env(safe-area-inset-left,0px));
  padding-right:max(16px,env(safe-area-inset-right,0px));
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.6;
  color:var(--ink);
  background:
    linear-gradient(var(--grid) 1px,transparent 1px) 0 0/40px 40px,
    linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/40px 40px,
    var(--paper);
  -webkit-font-smoothing:antialiased;
}
p,h1,h2,h3,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--font-display);font-weight:600;text-wrap:balance;font-optical-sizing:auto}
h2{font-size:clamp(1.75rem,3.6vw,2.5rem);line-height:1.15;letter-spacing:-.01em}
h3{font-size:1.3rem;line-height:1.25}

.wrap{max-width:1120px;margin-inline:auto}
.eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

/* Cabeçalho */
.site-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding-block:20px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;padding:4px 10px 4px 6px;background:var(--logo-bg);border-radius:2px}
.brand img{display:block;height:56px;width:auto}
.nav{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:.9375rem}
.nav a{color:var(--muted);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.nav a:hover{color:var(--ink);border-bottom-color:var(--accent)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid var(--ink);border-radius:2px;background:transparent;color:var(--ink);font:600 .9375rem/1.2 var(--font-body);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--surface)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent);filter:brightness(1.1)}
.btn-sm{padding:8px 12px;font-size:.8125rem}

/* Seções */
.block{padding-block:clamp(48px,7vw,96px);border-top:1px solid var(--line)}
.section-head{display:grid;gap:12px;max-width:68ch;margin-bottom:clamp(28px,4vw,48px)}
.lede{color:var(--muted)}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start;padding-block:clamp(40px,7vw,88px) clamp(32px,5vw,56px)}

/* Tela inicial: duas portas de entrada */
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:clamp(40px,6vw,72px)}
.door{display:grid;gap:8px;align-content:start;padding:22px 24px;background:var(--surface);border:1px solid var(--ink);color:var(--ink);text-decoration:none}
.door:hover{border-color:var(--accent)}
.door:hover .door-title{color:var(--accent)}
.door-title{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.15}
.door-text{color:var(--muted);max-width:52ch}
.door-go{margin-top:4px;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.04em;color:var(--accent)}
.hero-copy{display:grid;gap:24px;min-width:0}
.hero h1{font-size:clamp(2.25rem,5vw,3.6rem);line-height:1.08;letter-spacing:-.018em}
.hero .lede{font-size:1.125rem;max-width:56ch}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.methods-wrap{display:grid;gap:8px;padding-top:8px}
.methods-wrap .eyebrow{color:var(--muted)}
.methods{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--font-mono);font-size:.8125rem;color:var(--ink)}

.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;padding-top:8px}
.proof li{display:grid;gap:2px;align-content:start;padding-top:10px;border-top:2px solid var(--ink)}
.proof strong{font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.2}
.proof span{font-size:.875rem;color:var(--muted)}

/* Sobre */
.about{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.about-copy{display:grid;gap:18px;min-width:0}
.about-copy p{max-width:62ch}
.about-copy .lead{font-size:1.1875rem}
.about-copy .cta{margin-top:6px}
.pillars{display:grid;border-top:2px solid var(--ink)}
.pillar{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--line)}
.pillar dt{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.2}
.pillar:first-child dt{font-size:clamp(2.25rem,5vw,3.25rem);color:var(--accent);line-height:1.05}
.pillar dd{color:var(--muted);max-width:44ch}

/* Barra de título compartilhada (memória de cálculo e resultado) */
.titlebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:10px 16px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase}
.stamp{font-size:.6875rem;padding:2px 8px;border:1px solid currentColor}

.memorial{background:var(--surface);border:1px solid var(--ink);min-width:0}
.params{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:16px;border-bottom:1px solid var(--rule)}
.params dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.params dd{font-family:var(--font-mono);font-size:.9375rem;font-weight:500}
.table-scroll{overflow-x:auto}
.ledger{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.8125rem;font-variant-numeric:tabular-nums}
.ledger th,.ledger td{padding:9px 10px;text-align:right;white-space:nowrap}
.ledger th:first-child,.ledger td:first-child{text-align:left;padding-left:16px}
.ledger th:last-child,.ledger td:last-child{padding-right:16px}
.ledger th{font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.ledger td{border-bottom:1px solid var(--rule)}
.ledger .gap td{text-align:center;color:var(--muted);padding-block:2px}
.ledger abbr{text-decoration:none}
.totals{display:grid;padding:6px 16px 4px}
.totals div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--rule)}
.totals div:last-child{border-bottom:0}
.totals dt{color:var(--muted);font-size:.875rem}
.totals dd{font-family:var(--font-mono);font-weight:500}
.totals .hot dd{color:var(--mark)}
.note{padding:4px 16px 14px;font-size:.8125rem;color:var(--muted)}

/* Serviços */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,56px) clamp(32px,5vw,72px)}
.service{display:flex;flex-direction:column;gap:14px;border-top:2px solid var(--ink);padding-top:18px;min-width:0}
.service p{color:var(--muted)}
.service ul{margin-top:4px}
.service li{padding:9px 0;border-top:1px solid var(--rule);font-size:.9688rem}
.service li:last-child{border-bottom:1px solid var(--rule)}

/* Setor jurídico */
.calcs{display:grid;border-top:2px solid var(--ink)}
.calcs-head,.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) minmax(0,1.2fr);gap:8px 32px}
.calcs-head{padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.calc{padding:20px 0;border-bottom:1px solid var(--line)}
.calc h3{font-size:1.2rem}
.calc p{color:var(--muted);font-size:.9688rem}
.calc-cell::before{content:attr(data-label);display:none;margin-bottom:2px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.legal-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start;margin-top:clamp(32px,5vw,56px)}
.legal-side{display:grid;gap:20px;min-width:0}
.deliver li{padding:11px 0;border-top:1px solid var(--line)}
.deliver li:last-child{border-bottom:1px solid var(--line)}
.ledger-wide td:first-child{white-space:normal;min-width:11rem}
.ledger .total td{border-top:1px solid var(--ink);border-bottom:0;font-weight:500}
.ledger .total td:last-child{color:var(--accent)}
.scope{display:grid;gap:6px;margin-top:clamp(28px,4vw,40px);padding:16px 18px;max-width:68ch;border:1px dashed var(--line)}
.scope p:last-child{color:var(--muted)}
.more{display:inline-block;margin-top:2px;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.04em}

/* Quem atende */
.rows{display:grid;border-top:2px solid var(--ink)}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px 32px;padding:20px 0;border-bottom:1px solid var(--line)}
.row dt{font-family:var(--font-display);font-size:1.3rem;font-weight:600;line-height:1.25}
.row dd{color:var(--muted);max-width:60ch}

/* Etapas */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 28px}
.step{display:flex;flex-direction:column;gap:10px;border-top:2px solid var(--accent);padding-top:16px;min-width:0}
.step-n{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.step p{color:var(--muted);font-size:.9688rem}

/* Simulador */
.sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
.sim-form{display:grid;gap:20px;min-width:0}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--ink);font:500 1rem var(--font-mono);font-variant-numeric:tabular-nums}
.hint{font-size:.8125rem;color:var(--muted);min-height:1.3em}
.fine{font-size:.875rem;color:var(--muted);max-width:60ch}
.result{background:var(--surface);border:1px solid var(--ink);min-width:0}
.result-body{display:grid;gap:20px;padding:16px}
.line{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.line dt{color:var(--muted);font-size:.9rem}
.line dd{font-family:var(--font-mono);font-weight:500}
.lines{display:grid;gap:10px}
.big{display:grid;gap:2px}
.big span{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.big strong{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.5rem);line-height:1.1;color:var(--mark);font-variant-numeric:tabular-nums}
.result.is-neg .big strong{color:var(--good)}
.bars{display:grid;gap:14px}
.bar-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:.875rem;margin-bottom:6px}
.bar-top strong{font-family:var(--font-mono);font-weight:500}
.track{height:10px;background:var(--rule)}
.fill{height:100%;width:0;transition:width .35s}
.fill-a{background:var(--ink)}
.fill-b{background:var(--accent)}
.empty-msg{padding:16px;color:var(--muted)}

/* Notícias */
.news{display:grid;border-top:2px solid var(--ink)}
.news-item{border-bottom:1px solid var(--line)}
.news-item summary{display:grid;grid-template-columns:8.5rem minmax(0,1fr) auto;gap:6px 24px;align-items:baseline;padding:22px 0;cursor:pointer;list-style:none}
.news-item summary::-webkit-details-marker{display:none}
.news-item summary::after{content:"+";font-family:var(--font-mono);color:var(--accent)}
.news-item[open] summary::after{content:"–"}
.news-date{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.news-main{display:grid;gap:6px;min-width:0}
.news-tag{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.news-title{font-size:1.375rem;line-height:1.25}
.news-sum{color:var(--muted);max-width:62ch}
.news-body{display:grid;gap:12px;max-width:66ch;padding:0 0 26px calc(8.5rem + 24px)}
.news-src{font-size:.875rem;color:var(--muted)}
.news-more{margin-top:24px}
.news-empty{padding:20px 0;color:var(--muted)}

/* Perguntas */
.faq{border-bottom:1px solid var(--line);max-width:820px}
.faq details{border-top:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:1.1875rem;font-weight:600;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-family:var(--font-mono);font-weight:400;color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq .answer{padding:0 0 20px;max-width:65ch;color:var(--muted)}

/* Contato */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.contact-copy{display:grid;gap:20px;min-width:0}
.check li{padding:11px 0;border-top:1px solid var(--line)}
.check li:last-child{border-bottom:1px solid var(--line)}
.card{background:var(--surface);border:1px solid var(--ink);min-width:0}
.card-row{display:grid;gap:6px;padding:16px;border-bottom:1px solid var(--rule)}
.lbl{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.val-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.val{font-family:var(--font-mono);font-weight:500;overflow-wrap:anywhere}
.card-foot{padding:16px}

/* Rodapé */
.site-foot{display:grid;grid-template-columns:minmax(0,1.5fr) auto auto;gap:20px 48px;padding-block:32px 44px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}
.foot-main{display:grid;gap:8px;align-content:start}
.foot-nav,.foot-contact{display:grid;gap:4px;align-content:start}
.foot-title{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.site-foot a{color:var(--muted);text-decoration:none}
.site-foot a:hover{color:var(--ink);text-decoration:underline}
.site-foot p{max-width:62ch}

@media (max-width:960px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .hero,.sim,.contact,.doors,.legal-grid,.about{grid-template-columns:minmax(0,1fr)}
  .calcs-head{display:none}
  .calc{grid-template-columns:minmax(0,1fr)}
  .calc-cell::before{display:block}
}
@media (max-width:720px){
  .services{grid-template-columns:minmax(0,1fr)}
  .row{grid-template-columns:minmax(0,1fr)}
  .news-item summary{grid-template-columns:minmax(0,1fr) auto}
  .news-date{grid-column:1/-1}
  .news-body{padding-left:0}
}
@media (max-width:560px){
  .steps{grid-template-columns:minmax(0,1fr)}
  .fields{grid-template-columns:minmax(0,1fr)}
  .proof{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .ledger{font-size:.75rem}
  .ledger th,.ledger td{padding:8px 6px}
  .ledger th:first-child,.ledger td:first-child{padding-left:12px}
  .ledger th:last-child,.ledger td:last-child{padding-right:12px}
  .titlebar,.params,.card-row,.card-foot,.result-body{padding-left:12px;padding-right:12px}
  .totals,.note{padding-left:12px;padding-right:12px}
}
@media (prefers-reduced-motion:reduce){
  .fill{transition:none}
}

/* Sua dúvida, nossa resposta */
.ask{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.ask-copy{display:grid;gap:18px;min-width:0}
.ask-copy p{max-width:62ch}
.ask-copy .lead{font-size:1.1875rem}
.ask-steps{display:grid;border-top:2px solid var(--ink);margin-top:6px}
.ask-steps li{padding:12px 0;border-bottom:1px solid var(--line)}
.ask-card{background:var(--surface);border:1px solid var(--ink);min-width:0}
.ask-form{display:grid;gap:18px;padding:16px}
.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--ink);font:400 1rem/1.5 var(--font-body)}
.field textarea{min-height:9rem;resize:vertical}
.btn[aria-disabled="true"]{opacity:.55}
.ask-number{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:16px;border-top:1px solid var(--rule)}
.ask-note{padding:0 16px 16px;font-size:.875rem;color:var(--muted)}
.disclaimer{margin-top:clamp(28px,4vw,40px);padding:16px 18px;max-width:68ch;border:1px dashed var(--line);color:var(--muted)}
.qa-head{margin-bottom:24px}

/* Várias páginas */
img{max-width:100%}
[hidden]{display:none!important}
.page-title{font-size:clamp(2rem,4.5vw,3rem);line-height:1.1;letter-spacing:-.015em}
.block-first{border-top:0}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.teaser{display:grid;grid-template-columns:8.5rem minmax(0,1fr) auto;gap:6px 24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.teaser:hover .news-title{color:var(--accent)}
.teaser-go{font-family:var(--font-mono);font-size:.8125rem;color:var(--accent)}
.teaser-more{margin-top:20px}
.cta-band{display:grid;gap:16px;max-width:62ch}
@media (max-width:860px){
  .site-foot,.ask{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .teaser{grid-template-columns:minmax(0,1fr) auto}
  .teaser .news-date{grid-column:1/-1}
}

