:root{
  --noite:#211E1B; --ouro:#D2AE6D; --ouro-claro:#E7CD9B;
  --marfim:#F6F2EA; --marfim2:#EDE6DA; --grafite:#2E2F33; --ouro-terra:#8F6D24;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--grafite);background:var(--marfim);line-height:1.75;-webkit-font-smoothing:antialiased}
.wrap{max-width:1220px;margin:0 auto;padding:0 36px}
.estreito{max-width:820px}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--ouro);outline-offset:3px}
.rotulo{font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ouro-terra);font-weight:400;display:inline-flex;align-items:center;gap:15px}
.rotulo::before{content:"";width:42px;height:1px;background:var(--ouro-terra)}
.abertura .rotulo,.carro .rotulo,.advogado .rotulo{color:var(--ouro)}
.abertura .rotulo::before,.carro .rotulo::before,.advogado .rotulo::before{background:var(--ouro)}
.btn{font-size:.75rem;letter-spacing:.19em;text-transform:uppercase;padding:17px 34px;text-decoration:none;transition:.35s;display:inline-block;cursor:pointer;font-family:var(--sans);border:1px solid transparent}
.btn-ouro{background:var(--ouro);color:var(--noite);border-color:var(--ouro)}
.btn-ouro:hover{background:transparent;color:var(--ouro)}
.btn-linha{border-color:rgba(246,242,234,.34);color:var(--marfim)}
.btn-linha:hover{border-color:var(--ouro);color:var(--ouro)}
.btn-escuro{border-color:var(--noite);color:var(--noite)}
.btn-escuro:hover{background:var(--noite);color:var(--marfim)}
.btn-envio{width:100%;background:#9C7729;border-color:#9C7729;color:#FFF9EE;padding:19px 34px;font-weight:400;letter-spacing:.22em}
.btn-envio:hover{background:var(--noite);border-color:var(--noite);color:var(--marfim)}

/* topo */
.topo{position:fixed;top:0;left:0;right:0;z-index:60;padding:20px 0;transition:.4s}
.topo.fixo{background:rgba(33,30,27,.97);padding:11px 0;box-shadow:0 1px 0 rgba(210,174,109,.25)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.marca img{height:38px}
.menu{display:flex;gap:28px;list-style:none;align-items:center}
.menu a{color:var(--marfim);text-decoration:none;font-size:.77rem;letter-spacing:.15em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid transparent;transition:.3s}
.menu a:hover{border-bottom-color:var(--ouro);color:var(--ouro-claro)}
.menu .cta{border:1px solid rgba(210,174,109,.6);padding:10px 20px}
.menu .cta:hover{background:var(--ouro);color:var(--noite)}
.hamburguer{display:none;background:none;border:0;cursor:pointer;padding:8px}
.hamburguer span{display:block;width:26px;height:1px;background:var(--marfim);margin:6px 0}
.menu-mob{display:none;position:fixed;inset:0;background:var(--noite);z-index:59;padding:104px 36px;flex-direction:column}
.menu-mob.on{display:flex}
.menu-mob a{color:var(--marfim);text-decoration:none;font-family:var(--serif);font-size:1.85rem;padding:11px 0;border-bottom:1px solid rgba(210,174,109,.2)}

/* ------- abertura ------- */
.abertura{position:relative;background:var(--noite);color:var(--marfim);overflow:hidden;display:flex;align-items:center;min-height:700px;padding:148px 0 88px}
.hero-foto{position:absolute;top:0;right:0;bottom:0;width:47%;overflow:hidden}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:52% 12%}
.hero-foto::after{content:"";position:absolute;inset:0;background:
  linear-gradient(to right,var(--noite) 0%,rgba(33,30,27,.93) 16%,rgba(33,30,27,.22) 54%,rgba(33,30,27,.5) 100%),
  linear-gradient(to top,var(--noite) 0%,transparent 30%)}
.abertura>.wrap{width:100%}
.hero-txt{max-width:640px;position:relative;z-index:2}
.abertura h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.7rem,5.4vw,4.5rem);line-height:1.06;color:var(--marfim);margin:26px 0 26px}
.abertura h1 em{font-style:italic;color:var(--ouro)}
.lede{font-size:1.05rem;max-width:33rem;color:rgba(246,242,234,.76)}
.acoes{display:flex;gap:15px;margin-top:34px;flex-wrap:wrap}
.oab-fio{display:inline-flex;align-items:center;gap:12px;margin-top:32px;font-size:.71rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,242,234,.6)}
.oab-fio::before{content:"";width:50px;height:1px;background:var(--ouro)}

/* ------- ensaio (texto corrido, sem grade) ------- */
.ensaio{padding:96px 0 92px}
.ensaio .wrap{display:grid;grid-template-columns:1.18fr .82fr;gap:68px;align-items:center}
.ensaio .rotulo{margin-bottom:28px}
.ensaio p{font-size:1.06rem;margin-bottom:22px}
.ensaio .destaque{font-family:var(--serif);font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.24;color:var(--noite);margin:34px 0;padding-left:30px;border-left:1px solid var(--ouro)}
.ensaio .miudo{font-size:.93rem;color:rgba(46,47,51,1);margin-bottom:0}
.ensaio-foto{position:relative;align-self:stretch;min-height:520px}
.ensaio-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.ensaio-foto .cred{position:absolute;left:0;bottom:-26px;font-size:.73rem;letter-spacing:.05em;color:rgba(46,47,51,0.94)}
.ensaio-foto::after{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--ouro);opacity:.45;z-index:-1}

/* ------- previdenciario: bloco dominante ------- */
.carro{background:var(--noite);color:var(--marfim);padding:96px 0;position:relative;overflow:hidden}
.carro::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 22% 8%,rgba(210,174,109,.16),transparent 56%)}
.carro .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.carro h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,4.8vw,3.7rem);line-height:1.1;color:var(--marfim);margin:24px 0 22px}
.carro p{color:rgba(246,242,234,.78)}
.casos{list-style:none;margin-top:8px;columns:2;column-gap:34px}
.casos li{font-size:.95rem;padding:11px 0 11px 18px;position:relative;color:rgba(246,242,234,.9);break-inside:avoid;border-bottom:1px solid rgba(210,174,109,.16)}
.casos li::before{content:"";position:absolute;left:0;top:22px;width:8px;height:1px;background:var(--ouro)}

/* ------- duas areas secundarias ------- */
.secundarias{padding:92px 0;background:var(--marfim2)}
.secundarias .wrap{display:block}
.sec-topo{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:end;margin-bottom:46px}
.sec-topo .apoio{font-size:1rem;padding-bottom:6px;color:rgba(46,47,51,1)}
.duas{display:grid;gap:52px}
.sub h3{font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--noite);margin-bottom:10px}
.sub p{font-size:.98rem}
.sub .itens{font-size:.92rem;margin-top:14px;color:var(--grafite)}
.sub a{display:inline-block;margin-top:16px;font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:var(--noite);text-decoration:none;border-bottom:1px solid var(--ouro);padding-bottom:4px}
.secundarias h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.14;color:var(--noite);margin:22px 0 0}

/* ------- percurso ------- */
.percurso{padding:92px 0}
.percurso h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.8vw,2.9rem);color:var(--noite);margin:22px 0 56px}
.passo{display:grid;grid-template-columns:74px 1fr 1.4fr;gap:34px;padding:30px 0;border-top:1px solid rgba(46,47,51,0.38);align-items:baseline}
.passo:last-child{border-bottom:1px solid rgba(46,47,51,0.38)}
.passo .n{font-family:var(--sans);font-weight:400;font-size:1.7rem;letter-spacing:.04em;font-variant-numeric:tabular-nums lining-nums;color:var(--ouro-terra);line-height:1.3}
.passo h4{font-size:1.12rem;color:var(--noite);font-weight:400}
.passo p{font-size:.96rem}

/* ------- advogado ------- */
.advogado{padding:100px 0;background:var(--noite);color:var(--marfim)}
.advogado .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:76px;align-items:center}
.advogado h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.8vw,2.9rem);line-height:1.16;color:var(--marfim);margin:22px 0 24px}
.advogado p{color:rgba(246,242,234,.78);margin-bottom:18px}
.creds{list-style:none;margin-top:30px}
.creds li{font-size:.93rem;padding:11px 0 11px 20px;position:relative;border-bottom:1px solid rgba(210,174,109,.18);color:rgba(246,242,234,.9)}
.creds li::before{content:"";position:absolute;left:0;top:22px;width:9px;height:1px;background:var(--ouro)}
.verifica{margin-top:26px;font-size:.83rem;color:rgba(246,242,234,.55)}
.onde{margin-top:30px;font-size:.86rem;letter-spacing:.06em;color:rgba(246,242,234,.7)}
.onde strong{color:var(--ouro-claro);font-weight:400}
.foto-esc img{width:100%;box-shadow:0 26px 56px rgba(0,0,0,.4)}
.legenda{font-size:.76rem;margin-top:12px;color:rgba(246,242,234,.45);letter-spacing:.04em}

/* ------- faq ------- */
.faq{padding:100px 0}
.faq .wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:62px;align-items:start}
.faq-col{position:sticky;top:110px}
.faq h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.8vw,2.9rem);color:var(--noite);margin:22px 0 8px}
.faq .sub-t{font-size:.99rem;margin-bottom:44px;max-width:38rem;color:rgba(46,47,51,1)}
.faq-item{border-bottom:1px solid rgba(46,47,51,0.38)}
.faq-item:first-child{border-top:1px solid rgba(46,47,51,0.38)}
.faq-item button{width:100%;background:none;border:0;text-align:left;cursor:pointer;padding:26px 46px 26px 0;position:relative;font-family:var(--serif);font-size:1.32rem;color:var(--noite);line-height:1.36}
.faq-item button::after{content:"+";position:absolute;right:6px;top:24px;color:var(--ouro-terra);font-size:1.45rem;font-family:var(--sans);font-weight:300;transition:transform .3s}
.faq-item.on button::after{transform:rotate(45deg)}
.faq-resp{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.on .faq-resp{max-height:500px}
.faq-resp p{padding:0 44px 26px 0;font-size:.97rem}

/* ------- contato ------- */
.contato{padding:100px 0;background:var(--marfim2)}
.contato .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:74px}
.contato h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.8vw,2.9rem);color:var(--noite);margin:22px 0 20px}
.canal{display:block;padding:17px 0;border-bottom:1px solid rgba(77,78,82,.26);text-decoration:none}
.canal .k{font-size:.65rem;letter-spacing:.23em;text-transform:uppercase;color:var(--ouro-terra);font-weight:400}
.canal .v{font-family:var(--sans);font-weight:400;font-size:1.18rem;letter-spacing:.02em;font-variant-numeric:tabular-nums lining-nums;color:var(--noite);margin-top:5px;display:block}
.canal:hover .v{color:var(--ouro-terra)}
.campo{margin-bottom:20px}
.campo label{display:block;font-size:.68rem;letter-spacing:.19em;text-transform:uppercase;color:var(--noite);font-weight:400;margin-bottom:8px}
.campo input,.campo select,.campo textarea{width:100%;padding:15px 17px;border:1px solid rgba(46,47,51,0.56);background:#FFFDF8;font-family:var(--sans);font-size:.96rem;font-weight:300;color:var(--noite)}
.campo input::placeholder,.campo textarea::placeholder{color:rgba(46,47,51,0.69)}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--ouro-terra);outline:none;box-shadow:0 0 0 3px rgba(143,109,36,.14)}
.campo textarea{min-height:104px;resize:vertical}
.metodo{font-size:.88rem;margin-top:20px;padding-left:18px;border-left:1px solid var(--ouro-terra);color:rgba(46,47,51,1);line-height:1.6}
.privacidade{font-size:.78rem;margin-top:16px;color:rgba(46,47,51,0.86)}

/* ------- rodape ------- */
.rodape{background:var(--noite);color:rgba(246,242,234,.8);padding:84px 0 32px}
.rodape .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:52px}
.rodape img{height:48px;margin-bottom:20px}
.rodape h5{font-size:.65rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ouro);margin-bottom:17px}
.rodape a,.rodape p{color:rgba(246,242,234,.86);font-size:.9rem;text-decoration:none;display:block;margin-bottom:9px;font-variant-numeric:tabular-nums lining-nums}
.rodape a:hover{color:var(--ouro)}
.aviso{margin-top:54px;padding-top:23px;border-top:1px solid rgba(210,174,109,.22);font-size:.73rem;opacity:.55;line-height:1.75}

/* ------- whatsapp ------- */
.zap{position:fixed;right:26px;bottom:26px;z-index:70}
.zap-btn{width:56px;height:56px;border-radius:50%;background:var(--noite);border:1px solid var(--ouro);color:var(--ouro);cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 12px 28px rgba(33,30,27,.34);transition:transform .3s}
.zap-btn:hover{transform:scale(1.07)}
.zap-menu{position:absolute;right:0;bottom:72px;background:var(--marfim);border:1px solid rgba(210,174,109,.6);min-width:252px;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s;box-shadow:0 20px 44px rgba(33,30,27,.24)}
.zap-menu.aberto{opacity:1;visibility:visible;transform:translateY(0)}
.zap-menu a{display:block;padding:14px 22px;text-decoration:none;color:var(--noite);font-size:.89rem}
.zap-menu a span{display:block;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro);margin-bottom:2px}
.zap-menu a:hover{background:var(--marfim2)}

.rev{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.rev.vis{opacity:1;transform:none}

@media (max-width:980px){
  .carro .wrap,.secundarias .wrap,.advogado .wrap,.contato .wrap,.rodape .wrap{grid-template-columns:1fr;gap:44px}
  .casos{columns:1}
  .passo{grid-template-columns:56px 1fr;gap:18px}
  .passo p{grid-column:2}
  .menu{display:none}.hamburguer{display:block}
  .abertura{display:block;min-height:0;padding-bottom:66px}
  .hero-foto{position:relative;width:100%;height:380px}
  .hero-foto::after{background:linear-gradient(to top,var(--noite) 0%,rgba(33,30,27,.12) 56%),linear-gradient(to bottom,var(--noite) 0%,transparent 20%)}
  .hero-txt{max-width:100%;margin-top:-38px}
  .ensaio{padding:88px 0}
  .carro,.secundarias,.percurso,.advogado,.faq,.contato{padding:86px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.rev{opacity:1;transform:none}html{scroll-behavior:auto}}

.check{padding:96px 0;background:var(--marfim2)}
.check .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:62px;align-items:start}
.check h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.8vw,2.9rem);color:var(--noite);margin:22px 0 18px;line-height:1.16}
.check .intro{font-size:1rem;color:rgba(46,47,51,1)}
.opcoes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opcoes button{position:relative;background:transparent;border:1px solid rgba(143,109,36,.4);padding:20px 44px 20px 22px;text-align:left;cursor:pointer;font-family:var(--sans);font-size:.95rem;font-weight:300;color:var(--noite);line-height:1.38;overflow:hidden;transition:color .4s,border-color .4s}
.opcoes button::before{content:"";position:absolute;inset:0;background:var(--noite);transform:translateY(101%);transition:transform .45s cubic-bezier(.22,.75,.3,1);z-index:0}
.opcoes button span{position:relative;z-index:1}
.opcoes button::after{content:"→";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--ouro-terra);font-size:.95rem;opacity:0;transition:opacity .35s,right .35s;z-index:1}
.opcoes button:hover{color:var(--marfim);border-color:var(--noite)}
.opcoes button:hover::before{transform:translateY(0)}
.opcoes button:hover::after{opacity:1;right:14px;color:var(--ouro)}
.opcoes button.on{color:var(--marfim);border-color:var(--ouro)}
.opcoes button.on::before{transform:translateY(0)}
.opcoes button.on::after{content:"●";opacity:1;color:var(--ouro);font-size:.6rem}
.resultado{margin-top:26px;border-left:1px solid var(--ouro-terra);padding-left:26px;min-height:150px}
.resultado .tt{font-size:.67rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro-terra);margin-bottom:14px}
.resultado ul{list-style:none}
.resultado li{font-size:.95rem;padding:8px 0 8px 18px;position:relative}
.resultado li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--ouro-terra)}
.resultado .vazio{font-size:.95rem;color:rgba(46,47,51,0.84);font-style:italic}
.resultado .btn{margin-top:22px}
@media (max-width:980px){.check .wrap{grid-template-columns:1fr;gap:38px}.opcoes{grid-template-columns:1fr}.check{padding:76px 0}
 .ensaio .wrap,.faq .wrap{grid-template-columns:1fr!important;gap:40px}.ensaio-foto{min-height:360px}.faq-col{position:static}}

.titulos{display:grid;gap:0}
.tit{padding:24px 0 24px 26px;border-top:1px solid rgba(210,174,109,.22);position:relative;transition:padding-left .35s,background .35s}
.tit:last-child{border-bottom:1px solid rgba(210,174,109,.22)}
.tit::before{content:"";position:absolute;left:0;top:38px;width:12px;height:1px;background:var(--ouro);transition:width .35s}
.tit:hover{padding-left:40px}
.tit:hover::before{width:26px}
.tit .i{display:block;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ouro);margin-bottom:5px}
.tit .v{font-family:var(--serif);font-size:1.5rem;color:var(--marfim);line-height:1.25}
.tit.destaque-t .v{color:var(--ouro-claro)}

/* fita em movimento */
.fita{background:var(--noite);border-top:1px solid rgba(210,174,109,.22);border-bottom:1px solid rgba(210,174,109,.22);overflow:hidden;padding:20px 0}
.fita-trilho{display:flex;width:max-content;animation:corre 46s linear infinite}
.fita:hover .fita-trilho{animation-play-state:paused}
.fita span{font-family:var(--serif);font-size:1.28rem;color:rgba(246,242,234,.62);padding:0 28px;white-space:nowrap}
.fita span::after{content:"·";color:var(--ouro);margin-left:28px}
@keyframes corre{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* abas interativas das areas secundarias */
.blocos{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.bloco{position:relative;background:var(--noite);border:1px solid rgba(210,174,109,.22);padding:54px 48px 46px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:border-color .5s,transform .5s,box-shadow .5s}
.bloco::before{content:"";position:absolute;top:-30%;right:-20%;width:70%;height:120%;background:radial-gradient(ellipse at center,rgba(210,174,109,.22),transparent 62%);opacity:.35;transition:opacity .6s}
.bloco:hover::before{opacity:1}
.bloco>*{position:relative;z-index:1}
.bloco:hover{border-color:rgba(210,174,109,.7);transform:translateY(-6px);box-shadow:0 30px 60px rgba(33,30,27,.28)}
.bloco .kicker{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ouro);display:block;margin-bottom:16px}
.bloco h3{font-family:var(--serif);font-weight:300;font-size:clamp(2.5rem,4.4vw,3.5rem);color:var(--marfim);line-height:1;margin-bottom:22px}
.bloco .fio{width:54px;height:1px;background:var(--ouro);margin-bottom:24px;transition:width .6s cubic-bezier(.22,.75,.3,1)}
.bloco:hover .fio{width:100%}
.bloco .desc{font-size:1rem;color:rgba(246,242,234,.74);max-width:30rem}
.bloco .itens{list-style:none;margin-top:26px;columns:2;column-gap:32px}
.bloco .itens li{font-size:.9rem;padding:9px 0 9px 17px;position:relative;color:rgba(246,242,234,.88);border-bottom:1px solid rgba(210,174,109,.16);break-inside:avoid}
.bloco .itens li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--ouro)}
.bloco .ir{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:32px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);transition:gap .35s}
.bloco:hover .ir{gap:20px}

/* barra de progresso de leitura */
.progresso{position:fixed;top:0;left:0;height:2px;background:var(--ouro);width:0;z-index:80;transition:width .1s linear}
@media (max-width:980px){.blocos{grid-template-columns:1fr}.sec-topo{grid-template-columns:1fr;gap:24px;align-items:start}.bloco{padding:40px 28px 34px}.bloco .itens{columns:1}.fita span{font-size:1.05rem;padding:0 18px}.abertura{padding:110px 0 70px;min-height:0}}
/* ================= PAGINAS INTERNAS ================= */
.capa{background:var(--noite);color:var(--marfim);padding:116px 0 72px;position:relative;overflow:hidden}
.capa::before{content:"";position:absolute;top:-20%;right:-6%;width:52%;height:130%;background:radial-gradient(ellipse at center,rgba(210,174,109,.16),transparent 62%)}
.capa .wrap{position:relative;max-width:960px}
.trilha{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,242,234,.5);margin-bottom:18px}
.trilha a{color:var(--ouro);text-decoration:none}
.trilha a:hover{text-decoration:underline}
.capa h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5vw,4rem);line-height:1.06;color:var(--marfim);margin:16px 0 20px}
.capa h1 em{font-style:italic;color:var(--ouro)}
.capa .lede{font-size:1.06rem;max-width:40rem;color:rgba(246,242,234,.78)}
.capa .acoes{margin-top:34px}

.corpo{padding:96px 0}
.corpo .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:start}
.corpo h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--noite);line-height:1.16;margin:0 0 20px}
.corpo h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--noite);margin:38px 0 14px}
.corpo p{font-size:1.03rem;margin-bottom:20px}
.corpo .rotulo{margin-bottom:22px}
.lateral{position:sticky;top:110px;background:var(--noite);color:var(--marfim);padding:38px 32px;border:1px solid rgba(210,174,109,.28)}
.lateral h4{font-family:var(--serif);font-weight:300;font-size:1.55rem;color:var(--marfim);margin-bottom:14px;line-height:1.2}
.lateral p{font-size:.93rem;color:rgba(246,242,234,.76);margin-bottom:22px}
.lateral .btn{width:100%;text-align:center}
.lateral .nota{font-size:.79rem;color:rgba(246,242,234,.55);margin-top:18px;margin-bottom:0;line-height:1.6}

.sinais{background:var(--marfim2);padding:88px 0}
.sinais .grade-s{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
.sinal{background:var(--marfim);border:1px solid rgba(46,47,51,0.3);padding:32px 28px}
.sinal .q{font-family:var(--serif);font-size:1.28rem;color:var(--noite);line-height:1.3;margin-bottom:12px}
.sinal p{font-size:.93rem}

.docs{padding:88px 0}
.docs .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:62px;align-items:start}
.lista-docs{list-style:none;border-top:1px solid rgba(46,47,51,0.38)}
.lista-docs li{font-size:1rem;padding:16px 0 16px 22px;position:relative;border-bottom:1px solid rgba(46,47,51,0.3)}
.lista-docs li::before{content:"";position:absolute;left:0;top:28px;width:10px;height:1px;background:var(--ouro-terra)}
.lista-docs li span{display:block;font-size:.85rem;color:rgba(46,47,51,0.89);margin-top:3px}

.caminhos{background:var(--noite);color:var(--marfim);padding:92px 0;position:relative;overflow:hidden}
.caminhos::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 10%,rgba(210,174,109,.14),transparent 58%)}
.caminhos .wrap{position:relative}
.caminhos h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--marfim);margin:22px 0 44px}
.via{display:grid;grid-template-columns:220px 1fr;gap:34px;padding:26px 0;border-top:1px solid rgba(210,174,109,.24);align-items:baseline}
.via:last-child{border-bottom:1px solid rgba(210,174,109,.24)}
.via .nome{font-family:var(--serif);font-size:1.42rem;color:var(--ouro-claro)}
.via p{color:rgba(246,242,234,.78);font-size:.97rem}

@media (max-width:980px){
  .corpo .wrap,.docs .wrap{grid-template-columns:1fr;gap:44px}
  .capa{padding:96px 0 56px}
  .sinais .grade-s{grid-template-columns:1fr}
  .via{grid-template-columns:1fr;gap:8px}
  .lateral{position:static}
  .capa{padding:112px 0 64px}
  .corpo,.sinais,.docs,.caminhos{padding:66px 0}
}

/* ================= LEGADO ================= */
.epigrafe{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--ouro-claro);line-height:1.3;margin:0 0 10px}
.epigrafe-fonte{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,242,234,.5)}

.slot-foto{border:1px dashed rgba(143,109,36,.55);background:rgba(143,109,36,.05);min-height:360px;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}
.slot-foto span{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-terra);line-height:1.9}
.retrato-cred{font-size:.75rem;color:rgba(46,47,51,0.89);margin-top:12px}

.linha{margin-top:56px;border-left:1px solid rgba(143,109,36,.45);padding-left:0}
.marco{position:relative;padding:0 0 38px 40px}
.marco::before{content:"";position:absolute;left:-5px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--marfim2);border:1px solid var(--ouro-terra);transition:background .35s,transform .35s}
.marco:hover::before{background:var(--ouro-terra);transform:scale(1.35)}
.marco .ano{font-family:var(--sans);font-weight:400;font-size:.82rem;letter-spacing:.2em;font-variant-numeric:tabular-nums lining-nums;color:var(--ouro-terra);display:block;margin-bottom:7px}
.marco h4{font-family:var(--serif);font-weight:400;font-size:1.42rem;color:var(--noite);margin-bottom:8px;line-height:1.24}
.marco p{font-size:.97rem;margin:0;max-width:36rem}
.marco.grifo{background:rgba(143,109,36,.07);margin-left:-40px;padding:26px 30px 26px 40px;border-left:2px solid var(--ouro-terra)}
.marco.grifo::before{left:-6px;top:33px;background:var(--ouro-terra)}

.ponte{background:var(--noite);color:var(--marfim);padding:100px 0;position:relative;overflow:hidden}
.ponte::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 0%,rgba(210,174,109,.15),transparent 58%)}
.ponte .wrap{position:relative;display:grid;grid-template-columns:.66fr 1.34fr;gap:64px;align-items:start}
.ponte h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.8vw,2.9rem);color:var(--marfim);margin:22px 0 22px;line-height:1.14}
.ponte p{color:rgba(246,242,234,.8);margin-bottom:18px}
.percurso-lista{list-style:none;margin-top:8px}
.percurso-lista li{font-size:.95rem;padding:14px 0 14px 20px;position:relative;border-bottom:1px solid rgba(210,174,109,.2);color:rgba(246,242,234,.88)}
.percurso-lista li::before{content:"";position:absolute;left:0;top:26px;width:9px;height:1px;background:var(--ouro)}
.percurso-lista li strong{display:block;font-family:var(--serif);font-size:1.12rem;color:var(--ouro-claro);font-weight:400;margin-bottom:2px}

@media (max-width:980px){
  .ponte .wrap{grid-template-columns:1fr;gap:44px}
  .ponte-foto{max-width:100%}
  .marco.grifo{margin-left:-40px;padding:22px 20px 22px 40px}
  .ponte{padding:70px 0}
}

/* ================= LEGADO — retratos e referências ================= */
.retrato-antigo{position:relative;max-width:330px}
.retrato-antigo img{width:100%;filter:contrast(1.04);box-shadow:0 22px 48px rgba(33,30,27,.26)}
.retrato-antigo::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--ouro-terra);opacity:.6;z-index:-1}
.retrato-antigo .cap{font-size:.76rem;color:rgba(46,47,51,0.92);margin-top:22px;line-height:1.6;max-width:300px}

.ponte-foto{position:relative;max-width:330px}
.ponte-foto img{width:100%;box-shadow:0 26px 56px rgba(0,0,0,.42)}
.ponte-foto::after{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid rgba(210,174,109,.55)}
.ponte-foto .cap{font-size:.76rem;color:rgba(246,242,234,.55);margin-top:22px;line-height:1.6;max-width:300px}
.geracao{margin-top:30px;padding:22px 26px;border-left:2px solid var(--ouro);background:rgba(210,174,109,.08)}
.geracao p{margin:0;color:rgba(246,242,234,.9);font-size:.98rem}

.referencias{padding:78px 0 88px;background:var(--marfim)}
.referencias h2{font-family:var(--serif);font-weight:300;font-size:1.9rem;color:var(--noite);margin:20px 0 10px}
.referencias .aviso-ref{font-size:.9rem;color:rgba(46,47,51,0.99);margin-bottom:32px;max-width:44rem}
.ref-lista{list-style:none;counter-reset:r}
.ref-lista li{counter-increment:r;position:relative;padding:18px 0 18px 46px;border-top:1px solid rgba(46,47,51,0.32);font-size:.93rem;line-height:1.7;color:rgba(46,47,51,1)}
.ref-lista li:last-child{border-bottom:1px solid rgba(46,47,51,0.32)}
.ref-lista li::before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:20px;font-family:var(--sans);font-size:.76rem;letter-spacing:.14em;font-variant-numeric:tabular-nums lining-nums;color:var(--ouro-terra)}
.ref-lista a{color:var(--noite);text-decoration:none;border-bottom:1px solid rgba(143,109,36,.55);word-break:break-word}
.ref-lista a:hover{color:var(--ouro-terra)}
@media (max-width:980px){.retrato-antigo{max-width:100%}.referencias{padding:60px 0}}


/* subtítulo em itálico sob os títulos */
.sub-it{font-family:var(--serif);font-style:italic;font-size:clamp(1.12rem,2vw,1.42rem);color:var(--ouro-terra);line-height:1.4;margin:-6px 0 26px;max-width:34rem}
.ponte .sub-it{color:var(--ouro-claro)}
.capa .wrap{max-width:1100px}


/* linha do tempo e referências em duas colunas */
.duas-col{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;align-items:start}
.col-fixa{position:sticky;top:110px}
.col-fixa .sub-it{margin-top:10px}
.duas-col .linha{margin-top:0}
.duas-col .ref-lista{margin-top:0}
@media (max-width:980px){.duas-col{grid-template-columns:1fr;gap:34px}.col-fixa{position:static}}

/* ================= estrutura: salas ================= */
.salas{padding:92px 0;background:var(--marfim2)}
.salas .grade-salas{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:46px}
.sala{position:relative}
.sala img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 22px 46px rgba(33,30,27,.2)}
.sala .leg{margin-top:16px;display:flex;align-items:baseline;gap:12px}
.sala .cid{font-family:var(--serif);font-size:1.35rem;color:var(--noite)}
.sala .uf{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro-terra)}
@media (max-width:980px){.salas .grade-salas{grid-template-columns:1fr}.salas{padding:66px 0}}

/* ================= assinatura do advogado nas páginas de área ================= */
.quem{padding:84px 0;background:var(--marfim2)}
.quem .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.quem h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.4vw,2.5rem);color:var(--noite);margin:20px 0 16px;line-height:1.16}
.quem p{font-size:1rem}
.quem .cartao{background:var(--noite);color:var(--marfim);padding:38px 34px;border:1px solid rgba(210,174,109,.3)}
.quem .cartao .nome{font-family:var(--serif);font-size:1.5rem;color:var(--marfim);line-height:1.25}
.quem .cartao .oab{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro);margin-top:6px}
.quem .cartao ul{list-style:none;margin-top:24px}
.quem .cartao li{font-size:.93rem;padding:11px 0 11px 18px;position:relative;border-top:1px solid rgba(210,174,109,.18);color:rgba(246,242,234,.9)}
.quem .cartao li::before{content:"";position:absolute;left:0;top:22px;width:8px;height:1px;background:var(--ouro)}
.quem .cartao a{display:inline-block;margin-top:22px;font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;color:var(--ouro);text-decoration:none;border-bottom:1px solid rgba(210,174,109,.5);padding-bottom:4px}
@media (max-width:980px){.quem .wrap{grid-template-columns:1fr;gap:36px}.quem{padding:60px 0}}
