:root{
  --verde:#13241b;
  --verde-2:#1c3327;
  --vinho:#7a1f2b;
  --vinho-2:#5e1620;
  --ouro:#c4a15a;
  --ouro-claro:#e3c983;
  --creme:#f6f2ea;
  --creme-2:#ece5d7;
  --texto:#1f2421;
  --suave:#5b625d;
  --linha:rgba(31,36,33,.14);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--texto);background:var(--creme);line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.pular{position:absolute;left:-999px;top:0;background:var(--ouro);color:var(--verde);padding:10px 16px;z-index:100}
.pular:focus{left:16px}

/* Cabeçalho */
.topo{position:sticky;top:0;z-index:50;background:rgba(19,36,27,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(196,161,90,.25)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;min-height:104px}
.marca{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:#fff;text-align:center;padding:6px 0}
.marca img{width:52px;height:52px}
.marca span{display:flex;flex-direction:column;align-items:center;line-height:1}
.marca strong{font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:.06em;color:var(--ouro-claro)}
.marca small{font-size:10.5px;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:5px}
.menu{display:flex;gap:34px;align-items:center;list-style:none}
.menu a{text-decoration:none;color:rgba(255,255,255,.82);font-size:14.5px;letter-spacing:.04em;padding:6px 0;border-bottom:1px solid transparent;transition:.2s}
.menu a:hover,.menu a[aria-current="page"]{color:var(--ouro-claro);border-color:var(--ouro)}
.menu .btn{border:0;padding:11px 20px}
.abrir{display:none;background:none;border:1px solid rgba(196,161,90,.5);color:var(--ouro-claro);width:44px;height:44px;border-radius:4px;font-size:20px;cursor:pointer}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.03em;padding:15px 26px;border-radius:3px;transition:.2s;cursor:pointer}
.btn-ouro{background:linear-gradient(135deg,var(--ouro-claro),var(--ouro));color:var(--verde)!important}
.btn-ouro:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn-linha{border:1px solid rgba(196,161,90,.6);color:var(--ouro-claro)}
.btn-linha:hover{background:rgba(196,161,90,.12)}
.btn-vinho{background:var(--vinho);color:#fff}
.btn-vinho:hover{background:var(--vinho-2)}
.btn svg{width:19px;height:19px;flex:none}

/* Títulos */
.rotulo{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--vinho);font-weight:700}
.rotulo::before{content:"";width:34px;height:1px;background:currentColor}
.escuro .rotulo{color:var(--ouro)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:-.015em;font-optical-sizing:auto}
h1{font-size:clamp(40px,5.6vw,68px)}
h2{font-size:clamp(32px,3.8vw,46px);margin:14px 0 18px}
h3{font-size:25px;margin-bottom:10px}
.lead{font-size:19px;color:var(--suave);max-width:640px}
.escuro{background:var(--verde);color:#fff}
.escuro .lead{color:rgba(255,255,255,.75)}
section{padding:110px 0}

/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 10%,rgba(122,31,43,.55),transparent 60%),var(--verde);color:#fff;padding:0}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;min-height:640px}
.hero-texto{padding:100px 0 110px}
.hero h1 em{font-style:italic;color:var(--ouro-claro)}
.hero .lead{margin:26px 0 38px;color:rgba(255,255,255,.8)}
.hero-acoes{display:flex;flex-wrap:wrap;gap:14px}
.hero-foto{position:relative;align-self:end}
.hero-foto img{width:100%;max-width:440px;margin-left:auto;mask-image:linear-gradient(to bottom,#000 78%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent)}
.hero-foto::before{content:"";position:absolute;inset:8% 4% 0 14%;border:1px solid rgba(196,161,90,.45);transform:translate(18px,-18px)}
.filete{height:4px;background:linear-gradient(90deg,var(--verde-2),var(--ouro),var(--vinho))}

/* Números */
.numeros{background:var(--creme-2);padding:0}
.numeros .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.numero{padding:44px 30px;border-right:1px solid var(--linha)}
.numero:last-child{border-right:0}
.numero b{display:block;font-family:var(--serif);font-size:58px;font-weight:600;color:var(--vinho);line-height:1}
.numero span{font-size:15px;color:var(--suave)}

/* Cards de área */
.grade{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.grade-2{grid-template-columns:repeat(2,1fr)}
.card h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--vinho);margin-top:26px}
.card h4+ul{margin-top:8px}
.subarea{font-family:var(--serif);font-size:22px;margin:34px 0 4px;color:var(--verde)}
.subarea:first-child{margin-top:0}
.card{background:#fff;border:1px solid var(--linha);padding:40px 34px;position:relative;transition:.25s}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--ouro);transform:scaleX(0);transform-origin:left;transition:.3s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(19,36,27,.35)}
.card:hover::before{transform:scaleX(1)}
.card .ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:var(--ouro-claro);margin-bottom:24px}
.card .ico svg{width:24px;height:24px}
.card p{color:var(--suave);font-size:16px}
.card ul{list-style:none;margin-top:16px}
.card li{padding:9px 0;border-top:1px solid var(--linha);font-size:15.5px;display:flex;gap:10px}
.card li::before{content:"";width:6px;height:6px;background:var(--ouro);transform:rotate(45deg);margin-top:10px;flex:none}
.mais{display:inline-block;margin-top:46px;color:var(--vinho);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* Etapas */
.etapas{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid rgba(196,161,90,.35)}
.etapa{padding:36px 34px 0 0}
.etapa i{font-style:normal;font-family:var(--serif);font-size:20px;color:var(--ouro)}
.etapa h3{color:#fff;margin-top:10px}
.etapa p{color:rgba(255,255,255,.7);font-size:16px}

/* Chamada final */
.chamada{text-align:center;background:linear-gradient(135deg,var(--vinho-2),var(--vinho));color:#fff}
.chamada .rotulo{color:var(--ouro-claro)}
.chamada .rotulo::before{display:none}
.chamada h2{max-width:760px;margin-left:auto;margin-right:auto}
.chamada p{color:rgba(255,255,255,.8);max-width:560px;margin:0 auto 34px}

/* Cabeçalho interno */
.pagina-topo{background:radial-gradient(90% 120% at 100% 0,rgba(122,31,43,.5),transparent 60%),var(--verde);color:#fff;padding:100px 0 90px}
.pagina-topo .lead{color:rgba(255,255,255,.75);margin-top:20px}
.pagina-topo .rotulo{color:var(--ouro)}

/* Sobre */
.duas{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.texto p+p{margin-top:18px}
.texto p{color:var(--suave)}
.perfil{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.perfil-foto{position:relative}
.perfil-foto img{position:relative;z-index:1;width:100%}
.perfil-foto::after{content:"";position:absolute;inset:0;border:1px solid var(--ouro);transform:translate(20px,20px)}
.perfil .oab{display:inline-block;margin:6px 0 22px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--vinho);font-weight:700}
.valores{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}
.valor{border-top:2px solid var(--ouro);padding-top:24px}
.valor p{color:var(--suave);font-size:16px}

/* Atuação */
.area{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:70px 0;border-top:1px solid var(--linha)}
.area:first-child{border-top:0;padding-top:0}
.area .num{font-family:var(--serif);font-size:20px;color:var(--ouro)}
.area h2{margin-top:6px}
.lista{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.lista li{padding:16px 0;border-bottom:1px solid var(--linha);display:flex;gap:12px;font-size:16.5px}
.lista li::before{content:"";width:7px;height:7px;background:var(--vinho);transform:rotate(45deg);margin-top:10px;flex:none}
.nota{margin-top:22px;color:var(--suave);font-size:15px}

/* Contato */
.contatos{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;margin-top:10px}
.whats{background:var(--verde);color:#fff;padding:54px 48px;position:relative;overflow:hidden}
.whats::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border:1px solid rgba(196,161,90,.3);border-radius:50%}
.whats .tel{display:block;font-family:var(--serif);font-size:clamp(38px,5vw,52px);color:var(--ouro-claro);margin:14px 0 26px;text-decoration:none}
.whats p{color:rgba(255,255,255,.75);max-width:420px;margin-bottom:30px}
.canais{display:grid;gap:20px}
.canal{background:#fff;border:1px solid var(--linha);padding:30px 32px}
.canal small{display:block;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--vinho);font-weight:700;margin-bottom:8px}
.canal a,.canal span{font-size:19px;text-decoration:none}

/* Rodapé */
.rodape{background:#0d1912;color:rgba(255,255,255,.7);padding:70px 0 0;font-size:15px}
.rodape .wrap>div:first-child{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-bottom:54px}
.rodape h4{font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ouro);margin-bottom:18px}
.rodape ul{list-style:none}
.rodape li{margin-bottom:9px}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--ouro-claro)}
.rodape .marca{margin-bottom:18px}
.base{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* WhatsApp flutuante */
.flutuante{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(0,0,0,.45);transition:.2s}
.flutuante:hover{transform:scale(1.07)}
.flutuante svg{width:30px;height:30px}

/* Responsivo */
@media (max-width:960px){
  section{padding:80px 0}
  .abrir{display:block}
  .menu{position:fixed;inset:104px 0 auto 0;background:var(--verde);flex-direction:column;align-items:stretch;gap:0;padding:10px 24px 26px;border-bottom:1px solid rgba(196,161,90,.3);display:none}
  .menu.aberto{display:flex}
  .menu a{display:block;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu .btn{margin-top:16px;justify-content:center}
  .hero .wrap{grid-template-columns:1fr;gap:0;min-height:0}
  .hero-texto{padding:70px 0 30px}
  .hero-foto img{max-width:340px;margin:0 auto}
  .hero-foto::before{display:none}
  .grade,.etapas,.valores{grid-template-columns:1fr}
  .duas,.perfil,.area,.contatos{grid-template-columns:1fr;gap:40px}
  .perfil-foto{max-width:380px}
  .rodape .wrap>div:first-child{grid-template-columns:1fr;gap:34px}
}
@media (max-width:620px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .numeros .wrap{grid-template-columns:1fr}
  .numero{border-right:0;border-bottom:1px solid var(--linha);padding:30px 0}
  .lista{grid-template-columns:1fr}
  .whats{padding:40px 28px}
  .marca strong{font-size:20px}
  .marca small{letter-spacing:.3em}
  .hero-acoes .btn{width:100%;justify-content:center}
}

/* Ajustes */
.hero .rotulo{color:var(--ouro)}
.hero-texto{align-self:center}
.numero b.menor{font-size:40px;padding-top:10px}

/* Toque final */
.revela{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.revela.visto{opacity:1;transform:none}
.palavra{max-width:820px;margin:0 auto;text-align:center}
.palavra blockquote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.8vw,32px);line-height:1.45;color:var(--verde);margin:26px 0 30px}
.palavra blockquote::before{content:"\201C";display:block;font-size:80px;line-height:.6;color:var(--ouro);font-style:normal;margin-bottom:12px}
.palavra cite{font-style:normal;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--vinho);font-weight:600}
.advogado{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.advogado + .advogado{margin-top:80px;padding-top:80px;border-top:1px solid var(--linha)}
.advogado-solo{grid-template-columns:1fr}
.advogado-solo .texto{max-width:760px}
.advogado .oab{display:inline-block;margin:6px 0 18px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--vinho);font-weight:700}
.advogado .fone{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px 18px;color:var(--verde);font-weight:600;text-decoration:none;border-bottom:1px solid var(--ouro)}
.advogado .fone svg{width:16px;height:16px;color:var(--ouro)}
.formacao{list-style:none;margin:10px 0 0}
.formacao li{padding:14px 0;border-top:1px solid var(--linha);display:flex;flex-direction:column}
.formacao li b{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.3}
.formacao li span{font-size:15px;color:var(--suave)}
.bloco-titulo{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--vinho);font-weight:700;margin:34px 0 4px;font-family:var(--sans)}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.etiquetas span{font-size:14.5px;padding:6px 14px;border:1px solid var(--linha);background:#fff}
@media(max-width:900px){.advogado{grid-template-columns:1fr;gap:36px}.advogado .perfil-foto{max-width:380px}.advogado .fone{margin-left:0;display:flex;width:max-content}}
