:root{--navy:#111923;--deep:#0d141d;--cream:#f7f4ed;--white:#fffdf7;--gold:#e0bb83;--bronze:#755526;--muted:#515962;--line:#d7d1c4;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--navy);font:16px/1.65 var(--sans)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #b68038;outline-offset:5px}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}
h2{font-size:clamp(2.4rem,5vw,4.25rem);letter-spacing:-.05em}
h3{font-size:1.65rem;letter-spacing:-.025em}
.wrap{width:min(1200px,calc(100% - 100px));margin-inline:auto}
.skip{position:absolute;z-index:5;left:1rem;top:1rem;transform:translateY(-200%);background:var(--white);padding:.6rem 1rem}
.skip:focus{transform:none}
.topo,.hero,.contato,footer{background:var(--navy);color:var(--white)}
.topo{border-bottom:1px solid #ffffff20}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:25px}
.marca{width:230px;height:auto}
nav{display:flex;align-items:center;gap:32px;font-size:.88rem}
nav a:hover,.texto-link:hover,footer a:hover{color:var(--gold)}
.nav-contato{border:1px solid #e0bb8370;padding:9px 14px}
.nav-contato span,.texto-link span,.botao span,.social span{margin-left:.55rem}
.hero{overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;min-height:525px}
.hero-copy{padding:86px 12px 82px 0;position:relative;z-index:1}
.tag{display:flex;align-items:center;gap:10px;color:var(--bronze);font-size:.71rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase;margin-bottom:22px}
.tag span{width:26px;height:1px;background:currentColor}
.hero .tag,.contato .tag{color:var(--gold)}
h1{font-size:clamp(3.1rem,6.05vw,6rem);letter-spacing:-.065em}
h1 em{font-weight:400;color:var(--gold)}
.lead{max-width:480px;margin-top:25px;color:#e1e4e9;font-size:1.04rem}
.acoes{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}
.botao{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--deep);padding:12px 17px;font-size:.87rem;font-weight:700}
.botao:hover{background:#f0d29f}
.texto-link{font-size:.87rem;border-bottom:1px solid #e0bb8370;padding-bottom:3px}
.hero-arte{position:relative;min-width:0;background:#0b1017}
.hero-arte img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% center}
.hero-arte:after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,#111923 0%,transparent 22%),linear-gradient(0deg,#0a1019 0%,transparent 36%);pointer-events:none}
.moldura{position:absolute;z-index:1;inset:25px 0 25px 19px;border:1px solid #e0bb834a;pointer-events:none}
.legenda{position:absolute;z-index:2;bottom:42px;left:39px}
.legenda span{display:block;font:1.35rem var(--serif)}
.legenda small{color:#e8ceaa;font-size:.72rem}
.faixa{background:#eae5da;border-bottom:1px solid var(--line)}
.faixa-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.faixa-grid div{padding:21px 0;display:flex;gap:14px;align-items:baseline}
.faixa-grid div+div{border-left:1px solid var(--line);padding-left:24px}
.faixa-grid span,.num{font:italic 1.13rem var(--serif);color:var(--bronze)}
.faixa-grid p{font-weight:650;font-size:.9rem}
.faixa-grid small{display:block;color:var(--muted);font-weight:400;font-size:.8rem}
.secao{padding-block:82px}
.secao-head{display:grid;grid-template-columns:1fr minmax(230px,360px);gap:32px;align-items:end;margin-bottom:34px}
.secao-head>p,.servicos p,.sobre-copy>p:not(.tag):not(.registro){color:var(--muted)}
.servicos{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.servicos article{padding:24px 28px 28px 0;border-bottom:1px solid var(--line)}
.servicos article:nth-child(even){padding-left:26px;border-left:1px solid var(--line)}
.servicos h3{margin:10px 0}
.servicos p{max-width:430px}
.sobre{background:#eae5da;border-block:1px solid var(--line)}
.sobre-layout{display:grid;grid-template-columns:.86fr 1fr;gap:clamp(28px,7vw,95px);align-items:center}
.retrato{height:420px;position:relative;background:#222e3c;overflow:hidden;display:grid;place-items:center}
.retrato span{position:absolute;font:clamp(7rem,19vw,17rem) var(--serif);color:#ffffff12}
.retrato img{position:absolute;bottom:0;width:100%;height:95%;object-fit:contain;object-position:center bottom}
.sobre-copy{padding-block:40px}
.sobre-copy>p:not(.tag){margin-top:17px;max-width:535px}
.registro{color:var(--bronze);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.artigos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.artigos a{display:flex;flex-direction:column;min-height:235px;padding:24px;border:1px solid var(--line);background:#fffaf0;transition:background .2s,border-color .2s}
.artigos a:hover{background:#efe4d0;border-color:#a68350}
.artigos span{font-size:.7rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze)}
.artigos h3{margin:19px 0 25px}
.artigos small{margin-top:auto;font-weight:700}
.artigos b{margin-left:.35rem}
.social{margin-top:24px;font-size:.88rem;font-weight:650}
.social a{border-bottom:1px solid #a68350;padding-bottom:3px}
.contato{padding-block:68px;border-top:3px solid var(--gold)}
.contato-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:36px}
.contato h2+p{color:#d4dae2;margin:18px 0 24px}
address{font-style:normal}
address div{border-top:1px solid #ffffff28;padding:12px 0}
address small{display:block;color:var(--gold);font-size:.71rem;text-transform:uppercase;letter-spacing:.13em}
address a{overflow-wrap:anywhere}
address a:hover{text-decoration:underline}
footer{border-top:1px solid #ffffff28}
.rodape{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-block:24px;font-size:.83rem}
.rodape .marca{width:180px}
@media(max-width:900px){.wrap{width:calc(100% - 52px)}.hero-layout{min-height:460px}.hero-copy{padding-block:66px}.artigos a{padding:18px}.nav{gap:16px}nav{gap:17px}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.nav{padding-block:15px;display:grid;gap:10px}.marca{width:190px}nav{gap:16px;flex-wrap:wrap;font-size:.8rem}.nav-contato{padding:4px 8px}.hero-layout,.secao-head,.sobre-layout,.contato-grid{grid-template-columns:1fr}.hero-copy{padding:43px 0 30px}.hero-arte{height:290px;margin-bottom:22px}.hero-arte:after{background:linear-gradient(0deg,#0a1019 0%,transparent 43%)}.moldura{inset:11px}.legenda{bottom:20px;left:23px}.faixa-grid{grid-template-columns:1fr}.faixa-grid div,.faixa-grid div+div{border-left:0;border-top:1px solid var(--line);padding:9px 0}.faixa-grid small{display:inline;margin-left:.3rem}.secao{padding-block:54px}.secao-head,.sobre-layout{gap:15px}.servicos,.artigos{grid-template-columns:1fr}.servicos article,.servicos article:nth-child(even){padding:19px 0;border-left:0}.retrato{height:330px;margin-top:24px}.sobre-copy{padding:15px 0 40px}.artigos a{min-height:170px}.contato{padding-block:46px}.rodape .marca{width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.defesa{background:#eae5da;border-top:1px solid var(--line)}
.frentes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.frentes article{background:var(--cream);border-top:2px solid #a68350;padding:24px}
.frentes h3{margin:10px 0 14px}
.frentes p{color:var(--muted)}
@media(max-width:760px){.frentes{grid-template-columns:1fr}.frentes article{padding:19px}}

.especialidade{margin-left:.65rem;font:700 .7rem var(--sans);letter-spacing:.08em;text-transform:uppercase}

/* Identidade visual e navegação entre páginas */
:root{--navy:#101423;--deep:#0c101c}
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
nav{gap:21px}
nav a[aria-current="page"]{color:var(--gold);text-decoration:underline;text-underline-offset:6px}
main>section:not(.hero) h1{font-size:clamp(2.65rem,6vw,4.55rem);letter-spacing:-.05em}
.contato h1+p{color:#d4dae2;margin:18px 0 24px}
.retrato img.retrato-selo{inset:14px auto auto 14px;width:60px;height:60px;object-fit:contain}
.rodape p{color:#e1e4e9}
.atalhos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.atalhos a{border:1px solid var(--line);padding:22px;background:var(--white);display:block}
.atalhos a:hover{border-color:var(--bronze);background:#efe9dc}
.atalhos h3 span{color:var(--bronze);font:1rem var(--sans)}
.atalhos p{margin-top:9px;color:var(--muted)}
@media(max-width:860px){nav{gap:12px;flex-wrap:wrap}.atalhos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.atalhos{grid-template-columns:1fr}.rodape{align-items:flex-start;flex-direction:column}}


.retrato img.retrato-equipe{height:100%;object-fit:cover;object-position:center 35%}

.pagina-intro{background:var(--navy);color:var(--white);padding-block:clamp(45px,8vw,90px)}
.pagina-intro .tag{color:var(--gold)}
.pagina-intro h1+p{margin-top:20px;max-width:650px;color:#e1e4e9}
.publico-servicos{margin-top:28px}
.acessos-publico{margin:0 0 24px}
.link-editorial{color:var(--bronze);text-decoration:underline;text-underline-offset:4px;font-weight:650}
.secao-head p .link-editorial{display:block;margin-top:10px}
.editorial a{border-top:2px solid #a68350}
.editorial small{color:var(--bronze);text-transform:uppercase;letter-spacing:.08em;font-weight:750}
.editorial h3{margin-top:12px}
.equipe-resumo{background:#eae5da}
.perfis-resumo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.perfis-resumo a{display:grid;grid-template-columns:clamp(85px,16vw,150px) 1fr;align-items:center;background:var(--white);border:1px solid var(--line)}
.perfis-resumo a:hover{border-color:var(--bronze)}
.perfis-resumo img{width:100%;height:155px;object-fit:cover;object-position:center 30%;background:#263143}
.perfis-resumo a>div{padding:14px}
.perfis-resumo p{font-size:.85rem;color:var(--muted);margin-top:7px}
nav .secao-ativa{color:var(--gold)}
@media(max-width:690px){.perfis-resumo{grid-template-columns:1fr}}

.valores{margin:0;padding-left:1.2rem;color:var(--muted)}
.valores li+li{margin-top:.45rem}

main p:not(.tag):not(.registro),
main li {
  text-align: justify;
  hyphens: auto;
}

.abertura h1{font-size:clamp(2.85rem,5.45vw,5.6rem)}
.abertura .hero-arte img{object-position:center 38%}
.seletor-inicial{padding-bottom:clamp(28px,4vw,48px)}
.panorama-inicial{padding-top:clamp(32px,5vw,62px);border-top:1px solid var(--line)}
.rotas{border-top:1px solid var(--line)}
.rotas details{border-bottom:1px solid var(--line)}
.rotas summary{display:flex;align-items:center;gap:16px;padding:18px 14px;cursor:pointer;list-style:none;font:clamp(1.25rem,3.2vw,1.8rem) var(--serif)}
.rotas summary::-webkit-details-marker{display:none}
.rotas summary::after{content:"+";margin-left:auto;color:var(--bronze)}
.rotas details[open] summary::after{content:"−"}
.rotas summary:hover,.rotas details[open]{background:#eae5da}
.rotas summary:focus-visible{outline:2px solid var(--bronze);outline-offset:-2px}
.rota-conteudo{padding:0 18px 20px 49px}
.rota-conteudo p{max-width:650px;margin-bottom:10px;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){
  .abertura .hero-copy{animation:entrada-inicial .55s ease-out both}
  @keyframes entrada-inicial{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
}

.servicos .licitacoes-especialidade{grid-column:1/-1}
.licitacoes-publicos{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.licitacoes-publicos h4{margin:10px 0}
@media(max-width:650px){.licitacoes-publicos{grid-template-columns:1fr;gap:10px}}

.conversa-inicial{background:var(--navy);color:var(--white);padding-block:40px}
.conversa-inicial .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.conversa-inicial h2{font-size:clamp(2rem,4vw,3rem)}
.conversa-inicial p{color:#e1e4e9;margin-top:9px}

/* Fundos fotográficos decorativos de largura total. */
.fundo-juridico{position:relative;isolation:isolate;overflow:hidden;background:#101423;color:var(--white)}
.fundo-juridico::before,.fundo-juridico::after{content:"";position:absolute;pointer-events:none}
.fundo-juridico::before{inset:-12px;z-index:-2;background:var(--foto-juridica) center/cover no-repeat;filter:blur(2px)}
.fundo-juridico::after{inset:0;z-index:-1;background:linear-gradient(90deg,#101423f5 0%,#101423d6 48%,#10142382 100%)}
.fundo-justica{--foto-juridica:url("assets/foto-justica.webp")}
.fundo-artigos{--foto-juridica:url("assets/foto-artigos.webp")}
.fundo-conversa{--foto-juridica:url("assets/foto-conversa.webp")}
.abertura.fundo-juridico .hero-layout{display:flex;align-items:center;min-height:clamp(400px,46vw,590px)}
.abertura.fundo-juridico .hero-copy{width:min(100%,730px)}
.fundo-juridico.contato::after{background:#101423df}
@media(max-width:650px){
  .fundo-juridico::after{background:#101423d9}
  .abertura.fundo-juridico .hero-layout{min-height:410px}
}
