/* Camargo Andrade Advogados — estilo global */
:root{
  --azul-topo:#0c1f5c;
  --roxo-escuro:#10082d;
  --roxo:#1f1059;
  --roxo-medio:#584d83;
  --azul-rodape:#4b5985;
  --lavanda:#b3aad5;
  --branco:#ffffff;
  --fonte:"Barlow","DIN Next","Avenir Next",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--fonte);
  font-weight:300;
  color:var(--roxo-escuro);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}


/* Fundo em parallax — camada fixa propria.
   Nao usar background-attachment:fixed: o iOS Safari ignora e o fundo trava. */
.fundo-parallax{
  position:fixed;
  inset:0;
  z-index:-1;
  background:#10082d url("../img/fundo-biblioteca.png") center center / cover no-repeat;
  pointer-events:none;
}
/* as secoes opacas rolam por cima da camada fixa, criando a profundidade */
.topo,.faixa-titulo,.bloco-texto,.area,.equipe,.noticias,.contato,.mapa,
.rodape-contato,.rodape{position:relative;z-index:1}
/* o hero deixa a camada de fundo aparecer */
.hero{background:none}
@media (prefers-reduced-motion:reduce){
  .fundo-parallax{position:absolute}
}

/* ---------- topo ---------- */
.topo{
  background:var(--azul-topo);
  height:66px;
  position:relative;
  z-index:20;
}
.topo-interno{
  max-width:1200px;margin:0 auto;height:66px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;position:relative;
}
.marca{position:absolute;left:24px;top:10px;z-index:30}
.marca img{
  width:150px;height:auto;border:4px solid #fff;background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.25);
}
.menu{margin-left:auto;display:flex;gap:26px;align-items:center;list-style:none;padding:0;margin-block:0}
.menu a{
  color:#fff;text-decoration:none;font-size:14px;letter-spacing:.03em;
  text-transform:uppercase;padding:6px 2px;transition:color .2s;
}
.menu a:hover{color:var(--lavanda)}
.menu a.ativo{color:#7f8db8}
.btn-menu{display:none;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer}

/* ---------- faixas ---------- */
.faixa-titulo{
  background:var(--roxo-escuro);
  color:#fff;text-align:center;padding:26px 20px;
}
.faixa-titulo h1{
  margin:0;font-weight:300;font-size:34px;letter-spacing:.28em;text-transform:uppercase;
}
.bloco-texto{
  background:var(--azul-topo);color:#fff;padding:56px 20px;
}
.bloco-texto .interno{max-width:800px;margin:0 auto;text-align:center;font-size:17px;line-height:1.65}
.bloco-texto p{margin:0 0 18px}
.bloco-texto p:last-child{margin-bottom:0}

.hero{
  min-height:280px;
  background:url("../img/fundo-biblioteca.png") center/cover no-repeat;
}

/* ---------- áreas de atuação ---------- */
.areas{padding:0}
.area{padding:52px 20px}
.area:nth-child(odd){background:rgba(31,16,89,.92)}
.area:nth-child(even){background:#fff}
.area:nth-child(even) .area-lista{color:var(--roxo-escuro)}
.area-interno{
  max-width:1000px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;
}
.area h2{
  margin:0 0 22px;font-size:19px;font-weight:400;text-align:center;
  padding:10px 14px;
}
.area:nth-child(odd) h2{background:#fff;color:var(--roxo)}
.area:nth-child(even) h2{background:var(--roxo);color:#fff}
.area-lista{list-style:none;margin:0;padding:0;color:#fff;font-size:15.5px;line-height:1.75}
.area-foto img{width:100%;height:100%;max-height:300px;object-fit:cover}

/* ---------- quem somos ---------- */
.escritorio{background:var(--roxo-escuro);color:#fff;padding:48px 20px;margin:34px auto 0;max-width:1000px}
.escritorio h1{margin:0 0 30px;text-align:center;font-weight:300;font-size:38px;letter-spacing:.05em}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin:0 auto}
.galeria img{width:100%;height:250px;object-fit:cover}
.escritorio p{max-width:760px;margin:26px auto;text-align:center;line-height:1.7;font-size:15.5px}

.equipe{background:#fff;padding:50px 20px}
.equipe h2{text-align:center;font-weight:300;font-size:38px;color:var(--roxo);margin:0 0 40px;letter-spacing:.05em}
.membro{
  max-width:960px;margin:0 auto 46px;
  display:grid;grid-template-columns:230px 1fr;gap:34px;align-items:start;
}
.membro img{width:230px;height:310px;object-fit:cover}
.membro h3{margin:0 0 16px;color:var(--roxo);font-weight:400;font-size:26px}
.membro p{margin:0 0 14px;font-size:14.5px;line-height:1.6;color:#2b2b39}

/* ---------- notícias ---------- */
.noticias{background:#fff;padding:96px 20px 60px;min-height:340px}
.noticias .interno{max-width:960px;margin:0 auto}
.noticias h2{color:var(--roxo);font-weight:300;font-size:32px;margin:0 0 12px}
.noticias hr{border:0;border-top:1px solid #ddd;margin:18px 0 40px}

/* ---------- contato ---------- */
.contato{background:#fff;padding:96px 20px 48px}
.contato-interno{max-width:1000px;margin:0 auto}
.contato-grade{display:grid;grid-template-columns:1fr 1.3fr;gap:40px}
.contato-dados .rotulo{color:var(--roxo-medio);font-size:14px;margin:0 0 2px}
.contato-dados .fone{font-size:30px;margin:0 0 22px;color:var(--roxo-escuro)}
.contato-dados p{line-height:1.6}
.contato-dados a{color:var(--roxo-escuro);text-decoration:none}
.contato h1{margin:0 0 34px;font-weight:400;font-size:26px;letter-spacing:.02em}
.contato-cta{
  background:var(--roxo-escuro);color:#fff;padding:30px 28px;align-self:start;
}
.contato-cta p{margin:0 0 22px;line-height:1.6;font-size:15.5px;color:#d9d5e8}
.contato-cta .obs{margin:14px 0 0;font-size:14px;color:#a8a1c4}
.botao-zap{
  display:inline-block;background:#25d366;color:#0b3d1f;text-decoration:none;
  font-size:16px;font-weight:500;padding:14px 26px;letter-spacing:.02em;
  transition:background .2s,transform .2s;
}
.botao-zap:hover{background:#1eb457;transform:translateY(-1px)}

/* botao flutuante de WhatsApp (substitui o chat da Wix) */
.zap-flutuante{
  position:fixed;right:22px;bottom:22px;z-index:60;
  display:flex;align-items:center;gap:10px;
  background:#25d366;color:#fff;text-decoration:none;
  padding:12px 18px 12px 14px;border-radius:40px;
  box-shadow:0 6px 20px rgba(0,0,0,.28);
  font-size:15px;font-weight:500;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.zap-flutuante:hover{background:#1eb457;transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.34)}
.zap-flutuante svg{width:26px;height:26px;fill:#fff;flex:0 0 auto}
@media (max-width:600px){
  .zap-flutuante{right:16px;bottom:16px;padding:13px;border-radius:50%}
  .zap-flutuante span{display:none}
}
.mapa{background:var(--roxo);padding:46px 20px;text-align:center;color:#fff}
.mapa h2{font-weight:300;letter-spacing:.15em;margin:0 0 26px;font-size:20px}
.mapa iframe{width:100%;max-width:820px;height:440px;border:0}

/* ---------- rodapé ---------- */
.rodape-contato{background:var(--azul-rodape);color:#fff;padding:18px 20px}
.rodape-contato .interno{
  max-width:1000px;margin:0 auto;display:flex;gap:0;justify-content:center;flex-wrap:wrap;
}
.rodape-contato .item{padding:0 30px;border-left:1px solid rgba(255,255,255,.35)}
.rodape-contato .item:first-child{border-left:0}
.rodape-contato .titulo{font-size:16px;letter-spacing:.06em;color:#e6e2f2;margin:0 0 4px}
.rodape-contato a,.rodape-contato span{font-size:13px;color:#d6d1e8;text-decoration:none}
.rodape{background:var(--roxo-escuro);color:#8f88ab;padding:26px 20px 30px}
.rodape .interno{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rodape .endereco{text-align:right;font-size:13px;line-height:1.5;margin-left:auto}
.rodape .endereco strong{display:block;font-weight:400;letter-spacing:.12em;font-size:15px;color:#a8a1c4;margin-bottom:6px}
.rodape .direitos{font-size:13px;align-self:flex-end}
.rodape .direitos a{color:#a8a1c4}

/* ---------- responsivo ---------- */
@media (max-width:880px){
  .marca img{width:110px}
  .btn-menu{display:block}
  .menu{
    display:none;position:absolute;top:66px;left:0;right:0;
    flex-direction:column;gap:0;background:var(--azul-topo);padding:8px 0;
  }
  .menu.aberto{display:flex}
  .menu li{width:100%;text-align:center}
  .menu a{display:block;padding:12px}
  .area-interno,.contato-grade,.galeria,.membro{grid-template-columns:1fr}
  .membro img{width:100%;height:auto;max-width:260px}
  .faixa-titulo h1{font-size:22px;letter-spacing:.18em}
  .rodape .interno{flex-direction:column}
  .rodape .endereco{text-align:left;margin-left:0}
  .rodape-contato .item{border-left:0;padding:8px 0}
}
