/* Landing pages por area - Rocio Advocacia (lote S1). Sem framework, pilha de fontes do sistema. */
:root { --verde: #08332A; --verde2: #0C4F41; --dourado: #d4af37; --dourado2: #b8952b; --tinta: #1f2937; --cinza: #6b7280; --fundo: #f7f6f2; --branco: #fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font: 16px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: var(--tinta); background: var(--branco); }
a { color: var(--verde); }
img { max-width: 100%; height: auto; display: block; }
.topo { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: rgba(8, 51, 42, .96); backdrop-filter: blur(4px); border-bottom: 1px solid rgba(212, 175, 55, .2); }
.topo .logo img { width: 120px; height: auto; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border-radius: 8px; background: var(--dourado); color: var(--verde); font-weight: 700; text-decoration: none; letter-spacing: .02em; border: 0; cursor: pointer; }
.btn:hover { background: var(--dourado2); }
.btn-topo { padding: 9px 14px; font-size: 14px; }
.heroi { position: relative; min-height: 78vh; display: flex; align-items: center; background: var(--verde); color: var(--branco); overflow: hidden; }
.heroi picture, .heroi img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .32; }
.heroi .conteudo { position: relative; z-index: 1; max-width: 760px; padding: 56px 20px; }
.rotulo { color: var(--dourado); text-transform: uppercase; letter-spacing: .2em; font-size: 13px; margin: 0 0 12px; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 5.2vw, 48px); line-height: 1.15; margin: 0 0 18px; }
h1 .ouro { color: var(--dourado); }
.heroi p.lead { font-size: 18px; color: rgba(255,255,255,.85); margin: 0 0 24px; }
.mini { font-size: 14px; color: rgba(255,255,255,.7); margin-top: 12px; }
section { padding: 56px 20px; }
.miolo { max-width: 1040px; margin: 0 auto; }
h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(24px, 3.6vw, 34px); margin: 0 0 8px; color: var(--verde); }
.sub { color: var(--cinza); margin: 0 0 28px; }
.cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.cartao { background: var(--fundo); border: 1px solid #e6e2d6; border-radius: 10px; padding: 20px; }
.cartao h3 { margin: 0 0 8px; font-size: 18px; color: var(--verde); }
.cartao ul { margin: 0; padding-left: 18px; color: var(--tinta); }
.cartao li { margin: 4px 0; }
.passos { counter-reset: p; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.passo { position: relative; padding: 20px 20px 20px 64px; background: var(--branco); border: 1px solid #e6e2d6; border-radius: 10px; }
.passo::before { counter-increment: p; content: counter(p); position: absolute; left: 18px; top: 18px; width: 32px; height: 32px; border-radius: 50%; background: var(--dourado); color: var(--verde); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.escuro { background: var(--verde); color: var(--branco); }
.escuro h2 { color: var(--branco); }
.escuro .sub { color: rgba(255,255,255,.75); }
.equipe { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.socio { display: flex; gap: 16px; align-items: flex-start; background: rgba(255,255,255,.06); border: 1px solid rgba(212,175,55,.25); border-radius: 10px; padding: 16px; }
.socio img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.socio h3 { margin: 0 0 4px; font-size: 18px; }
.socio p { margin: 0 0 6px; font-size: 14px; color: rgba(255,255,255,.8); }
.socio small { color: var(--dourado); }
.contato { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.contato div { background: var(--fundo); border-radius: 10px; padding: 18px; }
.contato h3 { margin: 0 0 6px; font-size: 15px; color: var(--verde); text-transform: uppercase; letter-spacing: .08em; }
.contato p { margin: 0; }
.cta-final { text-align: center; }
.cta-final .btn { font-size: 17px; padding: 14px 26px; }
footer { padding: 24px 20px 32px; text-align: center; font-size: 14px; color: var(--cinza); border-top: 1px solid #e6e2d6; }
footer a { margin: 0 6px; }
@media (max-width: 640px) {
  .topo .logo img { width: 96px; }
  .heroi { min-height: 70vh; }
  .heroi .conteudo { padding: 40px 16px; }
  section { padding: 40px 16px; }
  .btn { width: 100%; }
  .btn-topo { width: auto; }
}
