:root{
  color-scheme:light;
  --tinta:#12203A;--tinta-2:#1E3253;--papel:#F7F1E6;--papel-2:#FFFCF6;
  --latao:#A8823D;--latao-claro:#C9A567;--ardosia:#5B6472;--linha:#DCD3C0;
  --linha-escura:rgba(247,241,230,.16);
  --serifa:"Spectral",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --max:1180px;--pad-x:clamp(1rem,6vw,6rem);--ease:cubic-bezier(.16,.8,.24,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.75rem}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:1.05rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;text-wrap:balance;font-family:var(--serifa);font-weight:500;letter-spacing:-.01em;color:var(--tinta)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.molde{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad-x)}
.molde-texto{max-width:52rem}
.topo-in>*,.hero-grid>*,.sobre>*,.contato-grid>*,.contato-linha>*,.destaques>li,.areas>*,.posts>*,.rodape-grid>*{min-width:0}
.rotulo{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--latao);margin-bottom:.9rem;display:block}
.sec-escura .rotulo,.sec-cta .rotulo{color:var(--latao-claro)}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:rgba(247,241,230,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--linha);transition:box-shadow .4s var(--ease)}
.topo.esta-rolado{box-shadow:0 10px 30px -22px rgba(18,32,58,.45)}
.topo-in{max-width:var(--max);margin-inline:auto;padding:.9rem var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:padding .4s var(--ease)}
.topo.esta-rolado .topo-in{padding-block:.55rem}
.logo img{height:2.6rem;width:auto}
.nav{display:flex;gap:clamp(1rem,3vw,2.2rem);font-size:.86rem;letter-spacing:.02em}
.nav a{text-decoration:none;color:var(--ardosia);padding:.3rem 0;border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease)}
.nav a:hover,.nav a[aria-current]{color:var(--tinta);border-color:var(--latao)}
.nav-cta{font-size:.82rem;font-weight:600;letter-spacing:.03em;color:var(--papel-2)!important;background:var(--tinta);padding:.6rem 1.15rem;border-radius:2px;text-decoration:none;white-space:nowrap}
.menu-btn{display:none;background:none;border:1px solid var(--linha);border-radius:2px;padding:.55rem .8rem;font:inherit;font-size:.9rem;color:var(--tinta);min-height:44px}

/* hero */
.hero{padding:clamp(3.5rem,9vh,6.5rem) 0 clamp(3rem,7vh,5rem)}
.hero-interno{padding-bottom:clamp(2rem,5vh,3.5rem)}
.hero-interno h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.12;max-width:24ch}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:end}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.015em}
.hero h1 em{font-style:italic;color:var(--latao)}
.hero-sub{font-size:1.1rem;color:var(--ardosia);max-width:44ch;margin-top:1.4rem;line-height:1.55}
.hero-lado{border-left:1px solid var(--linha);padding-left:clamp(1.5rem,3vw,2.2rem)}
.destaques{display:grid;gap:1.1rem}
.destaques li{font-size:.92rem;color:var(--ardosia);line-height:1.5;padding-top:.9rem;border-top:1px solid var(--linha)}
.destaques li:first-child{padding-top:0;border-top:0}
.destaques strong{display:block;font-family:var(--serifa);font-size:1.12rem;font-weight:500;color:var(--tinta);margin-bottom:.15rem}
.hero-acoes{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:600;letter-spacing:.02em;padding:.9rem 1.5rem;min-height:44px;border-radius:2px;text-decoration:none;transition:opacity .3s var(--ease),background-color .3s var(--ease),color .3s var(--ease)}
.btn-principal{background:var(--tinta);color:var(--papel-2)}
.btn-principal:hover{opacity:.86}
.btn-fant{background:transparent;color:var(--tinta);border:1px solid var(--tinta)}
.btn-fant:hover{background:var(--tinta);color:var(--papel-2)}
.btn-claro{background:var(--papel);color:var(--tinta)}
.btn-claro:hover{background:var(--latao-claro)}

/* seções */
.sec{padding:clamp(3.5rem,8vh,6rem) 0;border-top:1px solid var(--linha)}
.sec-papel2{background:var(--papel-2)}
.sec-escura{background:var(--tinta);color:var(--papel);border-top:0}
.sec-escura h2,.sec-escura h3,.sec-escura h1{color:var(--papel)}
.sec-cab{max-width:52ch;margin-bottom:clamp(2.2rem,5vh,3.2rem)}
.sec-cab h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.14}
.sec-lead{font-size:1.05rem;color:var(--ardosia);margin-top:1rem;line-height:1.6}
.sec-escura .sec-lead{color:rgba(247,241,230,.8)}
.ver-mais{margin-top:1.6rem;font-weight:600;font-size:.92rem}
.ver-mais a{text-decoration:none;border-bottom:1px solid var(--latao)}

/* áreas */
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linha-escura);border-left:1px solid var(--linha-escura)}
.area{padding:1.9rem 1.8rem;border-right:1px solid var(--linha-escura);border-bottom:1px solid var(--linha-escura);transition:background-color .4s ease}
.area:hover{background:rgba(255,255,255,.035)}
.area .n{font-family:var(--serifa);font-style:italic;font-size:1.3rem;color:var(--latao-claro);display:block;margin-bottom:.7rem}
.area h3{font-size:1.15rem;line-height:1.25;margin-bottom:.6rem}
.area p{font-size:.94rem;color:rgba(247,241,230,.78);line-height:1.55}
.cta-linha{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--linha-escura)}
.cta-linha p{font-family:var(--serifa);font-size:1.35rem}

/* sobre */
.sobre{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.sobre-retrato{margin:0;border:1px solid var(--linha);background:#E4D9C2;overflow:hidden}
.sobre-retrato img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.sobre-corpo p{font-size:1.04rem;color:var(--ardosia);line-height:1.7;max-width:62ch}
.sobre-corpo p+p{margin-top:1.1rem}
.credenciais{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid var(--linha)}
.credenciais li{font-size:.86rem;color:var(--ardosia)}
.credenciais strong{display:block;font-family:var(--serifa);font-size:1.08rem;font-weight:500;color:var(--tinta)}
.oab{margin-top:1.5rem;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--latao)}
.parceria{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;margin-top:3rem;padding:2rem;border:1px solid var(--linha);background:var(--papel-2)}
.parceria img{width:9rem}
.parceria h3{font-size:1.4rem;margin-bottom:.5rem}
.parceria p{color:var(--ardosia);max-width:62ch}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.2rem)}
.post{border-top:2px solid var(--latao);padding-top:1.3rem;transition:transform .35s var(--ease)}
.post:hover{transform:translateY(-4px)}
.post time{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ardosia)}
.post .cat{color:var(--latao);font-weight:600}
.post h3{font-size:1.22rem;line-height:1.28;margin:.7rem 0 .8rem}
.post h3 a{text-decoration:none}
.post h3 a:hover{color:var(--latao)}
.post p{font-size:.94rem;color:var(--ardosia);line-height:1.6}
.post .leia{display:block;margin-top:1rem;font-size:.86rem;color:var(--ardosia)}
.post .leia a{font-weight:600;color:var(--tinta);text-decoration:none;border-bottom:1px solid var(--latao)}

/* artigo */
.artigo-meta{margin-top:1rem;color:var(--ardosia);font-size:.92rem}
.artigo-corpo{padding-bottom:clamp(2rem,5vh,3.5rem)}
.artigo-corpo p{font-size:1.1rem;line-height:1.75;color:var(--tinta-2);margin-bottom:1.2rem}
.artigo-corpo h2{font-size:1.5rem;margin:2rem 0 .9rem}
.artigo-corpo ul,.artigo-corpo ol{padding-left:1.4rem;margin-bottom:1.4rem}
.artigo-corpo ul{list-style:disc}.artigo-corpo ol{list-style:decimal}
.artigo-corpo li{font-size:1.05rem;line-height:1.7;color:var(--tinta-2);margin-bottom:.5rem}
.artigo-corpo .aviso{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--linha);font-size:.95rem;color:var(--ardosia)}
.artigo-outros{padding-bottom:clamp(2.5rem,6vh,4rem)}
.artigo-outros li{padding:.8rem 0;border-top:1px solid var(--linha);font-family:var(--serifa);font-size:1.1rem}
.artigo-outros a{text-decoration:none}
.artigo-outros a:hover{color:var(--latao)}

/* cta final */
.sec-cta{background:var(--tinta);color:var(--papel);border-top:0}
.sec-cta h2{color:var(--papel);font-size:clamp(1.6rem,3vw,2.3rem);max-width:24ch;line-height:1.16}
.sec-cta .sec-lead{color:rgba(247,241,230,.8)}
.sec-cta .btn-principal{background:var(--papel);color:var(--tinta)}
.sec-cta .btn-fant{color:var(--papel);border-color:rgba(247,241,230,.5)}
.sec-cta .btn-fant:hover{background:var(--papel);color:var(--tinta)}
.cta-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem;align-items:center}
.cta-in .hero-acoes{margin-top:0;justify-content:flex-end}

/* contato */
.contato-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.contato-linha{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;gap:1.5rem;padding:1.3rem 0;border-top:1px solid var(--linha-escura);align-items:baseline}
.contato-linha:first-child{border-top:0}
.contato-linha .k{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--latao-claro)}
.contato-linha .v{font-family:var(--serifa);font-size:1.25rem;overflow-wrap:anywhere}
.contato-linha .v small{font-family:var(--sans);font-size:.85rem;color:rgba(247,241,230,.7)}
.contato-linha .v a{text-decoration:none;border-bottom:1px solid var(--latao-claro)}
.contato-nota{font-size:.98rem;color:rgba(247,241,230,.8);line-height:1.6;max-width:40ch;margin-bottom:1.6rem}
[data-pendente]{color:var(--latao-claro);font-style:italic}
.rodape [data-pendente]{color:var(--latao)}

/* rodapé */
.rodape{padding:3rem 0 1.5rem;border-top:1px solid var(--linha);background:var(--papel-2)}
.rodape-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--linha)}
.rodape-logo{width:9rem}
.rodape-sub{font-size:.82rem;color:var(--ardosia);margin-top:.8rem;max-width:30ch}
.rodape-col{display:grid;gap:.5rem;align-content:start;font-size:.92rem;color:var(--ardosia)}
.rodape-col .rotulo{margin-bottom:.3rem}
.rodape-col a{text-decoration:none;overflow-wrap:anywhere}
.rodape-col a:hover{color:var(--latao)}
.rodape-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;padding-top:1.3rem;font-size:.8rem;letter-spacing:.03em;color:var(--ardosia)}

/* whatsapp flutuante */
.wa-flutuante{position:fixed;right:1.1rem;bottom:1.1rem;z-index:30;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px -8px rgba(0,0,0,.45);text-decoration:none}

/* responsivo */
@media (max-width:900px){
  .hero-grid,.sobre,.contato-grid,.cta-in,.rodape-grid{grid-template-columns:1fr}
  .cta-in .hero-acoes{justify-content:flex-start}
  .hero-lado{border-left:0;border-top:1px solid var(--linha);padding-left:0;padding-top:1.6rem;margin-top:.5rem}
  .areas,.posts{grid-template-columns:1fr 1fr}
  .sobre-retrato{max-width:18rem}
  .parceria{grid-template-columns:1fr}
}
@media (max-width:700px){
  .nav,.nav-cta{display:none}
  .menu-btn{display:inline-block}
  body.menu-aberto .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--papel-2);border-bottom:1px solid var(--linha);padding:1rem var(--pad-x);gap:.2rem}
  body.menu-aberto .nav a{padding:.8rem 0;font-size:1rem;border-bottom:1px solid var(--linha)}
  .areas,.posts,.credenciais{grid-template-columns:1fr}
  .contato-linha{grid-template-columns:1fr;gap:.3rem}
  .cta-linha{flex-direction:column;align-items:flex-start}
}

/* reveal */
html.js-reveal [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
html.js-reveal [data-reveal].is-revealed{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  html.js-reveal [data-reveal]{opacity:1;transform:none;transition:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* foco visível */
a:focus-visible,button:focus-visible{outline:2px solid var(--latao);outline-offset:3px}
.sec-escura a:focus-visible,.sec-cta a:focus-visible{outline-color:var(--latao-claro)}
