/* Litigante de Boa-Fé — site público. Valores do mockup da página inicial. */
:root{
  --noite:#151219; --papel:#FBF8F1; --creme:#F3EFE3; --tinta:#2A2622; --vinho:#7E1C2B; --vinho-claro:#9E2C3C;
  --ouro:#A98E5C; --neve:#F8F7F3; --nevoa:#CBC5B8; --cinza:#9A958C; --sepia:#6F6A62; --linha:#E6E1D6;
  --cinzel:'Cinzel', serif;
}
/* Como no mockup: content-box por padrão (max-width dos blocos vale para o conteúdo); border-box só onde o mockup usa. */
.moldura,.capa,.capa-escura-moldura,.form-site,.form-site *,.modal,.modal *,.formulario-pagina *,.obrigado *{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--noite);scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--noite)}
.pagina{font-family:'EB Garamond','Palatino Linotype',Palatino,Georgia,serif;font-size:20px;line-height:1.6;color:var(--tinta);background:var(--papel);overflow-x:clip}
a{color:inherit}
a:hover{color:var(--vinho)}
a:focus-visible,button:focus-visible{outline:2px solid var(--ouro);outline-offset:4px}
.escuro a:hover{color:var(--ouro)}
.claro{background:var(--papel)}
.creme{background:var(--creme)}

/* ---------- blocos escuros com moldura ---------- */
.escuro{background:var(--noite);color:var(--neve);padding:28px}
.moldura{border:1px solid var(--vinho)}
.florao{line-height:1;color:var(--vinho-claro)}
.fio{height:1px}

/* ---------- abertura ---------- */
.abertura .moldura{min-height:860px;display:flex;flex-direction:column}
.topo-barra{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between;padding:28px 40px}
.marca,.marca:hover,.escuro .marca:hover{text-decoration:none;font-family:var(--cinzel);font-size:14px;letter-spacing:.32em;color:var(--ouro)}
.nav-principal{display:flex;flex-wrap:wrap;gap:10px 36px;font-family:var(--cinzel);font-size:13px;letter-spacing:.24em}
.nav-principal a{text-decoration:none}
.abertura-centro{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 32px 48px}
.abertura-autor{margin:0;font-family:var(--cinzel);font-size:14px;letter-spacing:.42em;color:var(--ouro)}
.fio-abertura{width:120px;background:var(--vinho);margin:28px 0 14px}
.florao-abertura{font-size:26px}
.abertura-titulo{margin:36px 0 0;font-family:var(--cinzel);font-weight:400;line-height:1.05;color:var(--neve)}
.abertura-titulo .t1{display:block;font-size:clamp(22px,2.6vw,36px);letter-spacing:.24em}
.abertura-titulo .t2{display:block;margin-top:10px;font-weight:700;font-size:clamp(48px,7.4vw,108px);letter-spacing:.06em}
.abertura-subtitulo{margin:36px 0 0;max-width:640px;font-style:italic;font-size:clamp(20px,1.8vw,25px);line-height:1.5;color:var(--nevoa);text-wrap:balance}
.abertura-acoes{margin-top:52px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 36px}
.botao-contorno,.botao-contorno:hover,.escuro .botao-contorno:hover{display:inline-flex;align-items:center;min-height:54px;padding:0 34px;border:1px solid var(--ouro);color:var(--neve);text-decoration:none;font-family:var(--cinzel);font-size:13px;letter-spacing:.26em}
.link-italico,.link-italico:hover,.escuro .link-italico:hover{font-style:italic;font-size:20px;color:var(--nevoa);text-underline-offset:6px}
.abertura-rodape{padding:0 32px 40px;text-align:center;display:flex;flex-direction:column;gap:10px}
.abertura-oab{margin:0;font-size:16px;color:var(--cinza)}
.abertura-ano{margin:0;font-family:var(--cinzel);font-size:12px;letter-spacing:.32em;color:var(--ouro)}

/* ---------- sumário ---------- */
.sumario{max-width:760px;margin:0 auto;padding:140px 32px 120px}
.sumario h2{margin:0 0 56px;text-align:center;font-family:var(--cinzel);font-weight:700;font-size:30px;letter-spacing:.2em;color:var(--vinho)}
.sumario-lista{display:flex;flex-direction:column;gap:22px}
.sumario-lista a{text-decoration:none;display:flex;align-items:baseline;gap:18px}
.sumario-num{font-family:var(--cinzel);font-size:14px;letter-spacing:.2em;color:var(--vinho);min-width:44px}
.sumario-nome{font-size:24px}
.sumario-pontos{flex:1 1 auto;border-bottom:2px dotted #C9C1B0;transform:translateY(-6px)}
.sumario-resumo{font-style:italic;font-size:19px;color:var(--sepia)}

/* ---------- nota do autor ---------- */
.nota{max-width:680px;margin:0 auto;padding:40px 32px 160px}
.rotulo{margin:0;font-family:var(--cinzel);font-size:13px;letter-spacing:.3em;color:var(--vinho)}
.nota h2{margin:14px 0 0;font-weight:400;font-size:44px;line-height:1.12;color:var(--tinta)}
.nota-fio{width:56px;height:1px;background:var(--tinta);margin:32px 0 40px}
.nota-p{margin:0;text-align:justify;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty}
.nota-p-seg{margin-top:20px}
.capitular{float:left;font-family:'UnifrakturCook',serif;font-weight:700;font-size:92px;line-height:.82;color:var(--vinho);margin:6px 12px 0 0}
.nota-assinatura{margin:36px 0 0;font-style:italic;color:var(--sepia)}

/* ---------- abertura de parte ---------- */
.parte-moldura{padding:120px 32px;text-align:center;display:flex;flex-direction:column;align-items:center}
.parte-num{margin:0;font-family:var(--cinzel);font-size:96px;line-height:1;color:var(--vinho-claro)}
.fio-ouro{width:80px;background:var(--ouro);margin:28px 0}
.parte-rotulo{margin:0;font-family:var(--cinzel);font-size:13px;letter-spacing:.34em;color:var(--ouro)}
.parte-titulo{margin:18px 0 0;font-family:var(--cinzel);font-weight:700;font-size:clamp(40px,4.4vw,60px);letter-spacing:.08em;line-height:1.6}
.parte-florao{margin-top:22px;font-size:24px;line-height:1.6}
.parte-texto{margin:22px 0 0;max-width:520px;font-style:italic;font-size:21px;color:var(--nevoa)}

/* ---------- apostilas ---------- */
.apostilas{max-width:1180px;margin:0 auto;padding:120px 32px 140px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:72px 40px}
.apostila{display:flex;flex-direction:column;gap:22px}
.capa{aspect-ratio:210/297;transition:transform .4s ease,box-shadow .4s ease;overflow-wrap:break-word}
.capa-clara{background:#FFFFFF;box-shadow:0 18px 30px -22px rgba(21,18,25,.45),0 0 0 1px var(--linha);padding:12% 10%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}
.capa-clara:hover{transform:translateY(-6px);box-shadow:0 30px 40px -24px rgba(21,18,25,.6),0 0 0 1px var(--linha)}
.capa-clara-topo{font-family:var(--cinzel);font-size:9px;letter-spacing:.4em;color:var(--sepia)}
.capa-clara-meio{display:flex;flex-direction:column;align-items:center;gap:14px}
.capa-clara-titulo{margin:0;font-family:var(--cinzel);font-weight:400;color:var(--tinta)}
.capa-clara-titulo.menor{font-size:20px;line-height:1.3;letter-spacing:.16em}
.capa-clara-titulo.maior{font-size:26px;line-height:1.2;letter-spacing:.14em}
.capa-clara-fio{width:28px;height:1px;background:var(--tinta)}
.capa-clara-fio.vinho{background:var(--vinho)}
.capa-clara-sub{font-style:italic;font-size:12px;line-height:1.4;color:var(--sepia)}
.capa-clara-selo{font-family:var(--cinzel);font-size:8px;letter-spacing:.34em;color:var(--vinho);line-height:1.6}
.capa-escura{background:var(--noite);box-shadow:0 18px 30px -22px rgba(21,18,25,.6);padding:7%}
.capa-escura:hover{transform:translateY(-6px);box-shadow:0 30px 40px -24px rgba(21,18,25,.6)}
.capa-escura-moldura{height:100%;border:1px solid var(--vinho);padding:14% 8%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}
.capa-escura-topo{display:flex;flex-direction:column;align-items:center;gap:10px}
.capa-escura-linha{font-family:var(--cinzel);font-size:7px;letter-spacing:.36em;color:var(--ouro)}
.capa-escura-florao{color:var(--vinho-claro);font-size:12px}
.capa-escura-meio{display:flex;flex-direction:column;align-items:center;gap:10px}
.capa-escura-titulo{margin:0;font-family:var(--cinzel);font-weight:400;color:var(--neve);line-height:1.15}
.capa-escura-titulo .l1{display:block;font-size:12px;letter-spacing:.18em}
.capa-escura-titulo .l2{display:block;margin-top:6px;font-weight:700;font-size:22px;letter-spacing:.06em}
.capa-escura-titulo .l2-so{margin-top:0}
.capa-escura-sub{font-style:italic;font-size:12px;line-height:1.4;color:var(--nevoa)}
.capa-escura-base{display:flex;flex-direction:column;align-items:center;gap:6px}
.capa-escura-autor{font-family:var(--cinzel);font-size:8px;letter-spacing:.3em;color:var(--ouro)}
.capa-escura-selo{font-family:var(--cinzel);font-size:7px;letter-spacing:.3em;color:var(--vinho-claro)}
@media (prefers-reduced-motion: reduce){.capa,.capa:hover{transition:none;transform:none}}
.apostila-desc{margin:0;font-size:19px;line-height:1.5}
.apostila-rodape{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;border-top:1px solid var(--linha);padding-top:14px}
.preco{font-size:20px;font-weight:600}
.link-acao,.link-acao:hover{font-family:var(--cinzel);font-size:12px;letter-spacing:.24em;color:var(--vinho);text-underline-offset:6px}
.apostila-rodape .link-acao{margin-left:auto}

/* ---------- títulos de seção claros ---------- */
.cabeca{text-align:center}
.cabeca .rotulo{letter-spacing:.34em}
.titulo-secao{margin:16px 0 0;font-weight:400;font-size:52px;line-height:1.1}

/* ---------- cursos ---------- */
.cursos{max-width:1000px;margin:0 auto;padding:140px 32px}
.cursos-abertura{margin:18px auto 0;max-width:560px;font-style:italic;font-size:21px;color:#5E5850}
.tabela-rolagem{margin-top:72px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabela-cursos{width:100%;min-width:640px;border-collapse:collapse;font-size:19px}
.tabela-cursos th{padding:0 16px 14px;border-bottom:1px solid var(--vinho);font-family:var(--cinzel);font-weight:400;font-size:12px;letter-spacing:.26em;color:var(--vinho);text-align:left}
.tabela-cursos th.c1{padding:0 16px 14px 0}
.tabela-cursos th.c3{padding:0 0 14px 16px;text-align:right}
.tabela-cursos td{padding:30px 16px;border-bottom:1px solid #E0D9C8;vertical-align:top}
.tabela-cursos td.c1{padding:30px 16px 30px 0;width:34%}
.tabela-cursos td.c2{color:#4A443D}
.tabela-cursos td.c3{padding:30px 0 30px 16px;text-align:right;white-space:nowrap}
.curso-nome{display:block;font-size:28px;line-height:1.15;text-decoration:none}
.capa-link{display:block;text-decoration:none;color:inherit}
.curso-link{display:inline-block;margin-top:12px}
.curso-preco{display:block;font-size:26px;font-weight:500}
.curso-parcelas{font-style:italic;font-size:17px;color:var(--sepia)}

/* ---------- consultoria ---------- */
.consultoria{max-width:720px;margin:0 auto;padding:160px 32px}
.citacao{margin:64px 0 0;text-align:center}
.aspas{font-size:64px;line-height:.6;color:var(--vinho)}
.citacao blockquote{margin:18px 0 0;font-style:italic;font-size:30px;line-height:1.4;color:var(--tinta);text-wrap:balance}
.quadro-passos{margin-top:64px;background:#EEF0F0;border-left:4px solid #1A1620;padding:28px 32px}
.quadro-titulo{margin:0 0 16px;font-family:var(--cinzel);font-size:12px;letter-spacing:.28em;color:#1A1620}
.quadro-passos ol{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:12px;font-size:19px}
.quadro-passos strong{font-weight:600}
.consultoria-preco{margin-top:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--vinho);padding-top:28px}
.preco-grande{display:block;font-size:34px;font-weight:500;line-height:1.1}
.preco-sub{font-style:italic;font-size:18px;color:var(--sepia)}
.botao-escuro,.botao-escuro:hover{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 34px;background:var(--noite);color:var(--neve);text-decoration:none;font-family:var(--cinzel);font-size:13px;letter-spacing:.26em;border:0;cursor:pointer}
.consultoria-preco .botao-escuro{margin-left:auto}

/* ---------- comunidade ---------- */
.comunidade-moldura{padding:110px 32px;text-align:center;display:flex;flex-direction:column;align-items:center}
.comunidade-titulo{margin:18px 0 0;font-family:var(--cinzel);font-weight:700;font-size:clamp(34px,3.8vw,52px);letter-spacing:.08em;line-height:1.6}
.comunidade-florao{margin-top:20px;font-size:22px;line-height:1.6}
.comunidade-texto{margin:22px 0 0;max-width:560px;font-style:italic;font-size:22px;line-height:1.5;color:var(--nevoa)}
.comunidade-botao{margin-top:44px}

/* ---------- rodapé ---------- */
.rodape{max-width:640px;margin:0 auto;padding:100px 32px 80px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;font-size:16px;line-height:1.6;color:var(--sepia)}
.rodape p{margin:0}
.rodape .rodape-rotulo{font-size:12px;letter-spacing:.3em}
.rodape-redes{margin-top:8px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;font-style:italic;font-size:18px;color:var(--tinta)}
.rodape .rodape-final{margin-top:20px;font-family:var(--cinzel);font-size:11px;letter-spacing:.32em;color:var(--cinza)}

/* ---------- páginas internas ---------- */
.interno-moldura{display:flex;flex-direction:column}
.interno-centro{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 32px 88px}
.interno-titulo{margin:18px 0 0;font-family:var(--cinzel);font-weight:700;font-size:clamp(34px,4.4vw,56px);letter-spacing:.08em;line-height:1.2}
.interno-florao{margin-top:22px;font-size:24px;line-height:1.6}
.formulario-pagina{max-width:760px;margin:0 auto;padding:96px 32px 120px}
.formulario-pagina.estreito{max-width:560px}
.formulario-pagina .quadro-passos{margin:0 0 64px}
.obrigado{max-width:640px;margin:0 auto;padding:110px 32px 120px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.obrigado p{margin:0}
.obrigado-destaque{font-style:italic;font-size:30px;line-height:1.4;text-wrap:balance}
.obrigado .botao-escuro{margin-top:22px}

/* ---------- formulários ---------- */
.form-site fieldset{border:0;margin:0 0 56px;padding:0;min-width:0}
.form-site legend{padding:0;margin:0 0 26px;font-family:var(--cinzel);font-size:13px;letter-spacing:.3em;color:var(--vinho);border-bottom:1px solid var(--vinho);width:100%;padding-bottom:12px}
.grade{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo-larga{grid-column:1/-1}
.campo>span{font-family:var(--cinzel);font-size:11px;letter-spacing:.24em;color:var(--sepia)}
.form-site input[type=text],.form-site input[type=email],.form-site input[type=tel],.form-site input[type=number],.form-site select,.form-site textarea{
  width:100%;font:inherit;font-size:20px;color:var(--tinta);background:transparent;border:0;border-bottom:1px solid #C9C1B0;border-radius:0;padding:6px 0 8px;outline:none;-webkit-appearance:none;appearance:none}
.form-site select{background-image:linear-gradient(45deg,transparent 50%,var(--vinho) 50%),linear-gradient(135deg,var(--vinho) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
.form-site ::placeholder{color:#B9B2A6;opacity:1}
.form-site textarea{resize:vertical;border:1px solid #C9C1B0;padding:10px 12px;line-height:1.5;background:#FFFFFF}
.form-site input:focus,.form-site select:focus,.form-site textarea:focus{border-color:var(--vinho);box-shadow:0 1px 0 0 var(--vinho)}
.form-site textarea:focus{box-shadow:none}
.opcoes{display:flex;gap:28px;padding-top:6px}
.opcoes label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.opcoes input{accent-color:var(--vinho);width:18px;height:18px}
.campo-erro{font-size:16px;color:var(--vinho)}
.form-envio{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--vinho);padding-top:28px}
.form-nota{margin:0;font-style:italic;font-size:18px;color:var(--sepia);max-width:360px}
.form-envio .botao-escuro{margin-left:auto}
.aviso-erro{border-left:4px solid var(--vinho);background:#F6ECEC;padding:18px 24px;margin-bottom:48px;font-size:18px}
.aviso-erro p{margin:0 0 6px}
.aviso-erro ul{margin:0;padding-left:20px}
.mel{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-erro{margin:0;color:var(--vinho);font-size:17px}

/* ---------- modal ---------- */
.modal{font-family:'EB Garamond','Palatino Linotype',Palatino,Georgia,serif;font-size:20px;line-height:1.6;color:var(--tinta);position:fixed;inset:0;z-index:50;background:rgba(21,18,25,.74);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.modal[hidden]{display:none}
.modal-caixa{position:relative;width:100%;max-width:500px;background:var(--papel);padding:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);margin:auto}
.modal-moldura{border:1px solid var(--vinho);padding:40px 34px 34px}
.modal-x{position:absolute;top:18px;right:20px;width:40px;height:40px;border:0;background:transparent;font-size:30px;line-height:1;color:var(--tinta);cursor:pointer;font-family:inherit}
.modal-x:hover{color:var(--vinho)}
.modal-rotulo{margin:0;font-family:var(--cinzel);font-size:12px;letter-spacing:.3em;color:var(--vinho)}
.modal-titulo{margin:10px 0 0;font-weight:400;font-size:30px;line-height:1.2;padding-right:20px}
.modal-texto{margin:14px 0 26px;font-style:italic;color:var(--sepia);font-size:19px}
.modal .form-site{display:flex;flex-direction:column;gap:22px}
.modal-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:6px}
.botao-texto{background:none;border:0;padding:8px 0;font:inherit;font-style:italic;font-size:19px;color:var(--sepia);cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.botao-texto:hover{color:var(--vinho)}
.modal-caixa.zoom{animation:modal-zoom .32s ease}
@keyframes modal-zoom{0%{transform:scale(1)}45%{transform:scale(1.04)}100%{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){.modal-caixa.zoom{animation:none;outline:3px solid var(--ouro)}}
body.modal-aberto{overflow:hidden}

/* ---------- celular ---------- */
@media (max-width: 760px){
  .escuro{padding:12px}
  .topo-barra{padding:22px 20px;justify-content:center;text-align:center;gap:14px 24px}
  .nav-principal{justify-content:center;gap:8px 22px;font-size:12px}
  .abertura .moldura{min-height:calc(100svh - 24px)}
  .abertura-centro{padding:44px 18px 40px}
  .abertura-autor{letter-spacing:.3em;font-size:13px}
  .abertura-titulo .t1{letter-spacing:.18em}
  .abertura-titulo .t2{font-size:clamp(30px,10.4vw,56px);letter-spacing:.04em}
  .abertura-acoes{margin-top:40px}
  .botao-contorno,.botao-contorno:hover,.escuro .botao-contorno:hover,.botao-escuro,.botao-escuro:hover{padding:0 24px;letter-spacing:.2em;text-align:center}
  .abertura-rodape{padding:0 18px 28px}
  .sumario{padding:84px 20px 72px}
  .sumario h2{font-size:24px;margin-bottom:40px}
  .sumario-lista{gap:18px}
  .sumario-lista a{gap:10px}
  .sumario-num{min-width:30px;font-size:13px}
  .sumario-nome{font-size:21px}
  .sumario-resumo{font-size:17px}
  .nota{padding:24px 20px 100px}
  .nota h2{font-size:34px}
  .capitular{font-size:76px}
  .parte-moldura{padding:72px 20px}
  .parte-num{font-size:72px}
  .apostilas{padding:72px 20px 96px;gap:64px 32px}
  .capa{max-width:300px;width:100%;margin:0 auto}
  .nota-p{text-align:left}
  .cursos{padding:88px 20px}
  .titulo-secao{font-size:42px}
  .tabela-rolagem{margin-top:52px}
  .consultoria{padding:96px 20px}
  .citacao{margin-top:48px}
  .citacao blockquote{font-size:24px}
  .quadro-passos{margin-top:48px;padding:22px 20px}
  .quadro-passos ol{font-size:18px;padding-left:20px}
  .consultoria-preco .botao-escuro{margin-left:0}
  .comunidade-moldura{padding:72px 20px}
  .comunidade-texto{font-size:20px}
  .rodape{padding:72px 20px 56px}
  .interno-centro{padding:36px 18px 60px}
  .formulario-pagina{padding:64px 20px 88px}
  .grade{grid-template-columns:1fr;gap:24px}
  .form-envio .botao-escuro{margin-left:0;width:100%}
  .obrigado{padding:72px 20px 88px}
  .obrigado-destaque{font-size:24px}
  .modal-moldura{padding:34px 20px 24px}
  .modal-titulo{font-size:25px}
}

