/* Júlio César Sociedade de Advocacia — site novo (proposta). CSS escrito à mão, sem build.
   Linguagem: preto do logo + UM dourado (#C5A151, o primário do tema antigo), pedra fria como claro,
   títulos em Archivo (grotesca, largura reduzida), texto em Source Serif 4, rótulos em IBM Plex Mono.
   Assinaturas: faixa de plantão dourada fixa no topo, arestas retas, fotos da equipe coloridas em círculo, ponto vermelho "ao vivo", bloco dourado do plantão na abertura,
   áreas em linhas tipográficas largas, fios verticais (as colunas do emblema) no fundo escuro. */

:root {
  --tinta: #0f0f11;
  --tinta-2: #17171a;
  --tinta-3: #232327;
  --ouro: #c5a151;
  --pedra: #e8e7e3;
  --pedra-2: #dcdad4;
  --branco: #f7f7f5;
  --claro: #f2efe8;
  --claro-2: #b9b4a9;      /* 9,1:1 sobre --tinta */
  --texto: #1b1b1d;
  --texto-2: #4f4d48;      /* 7,2:1 sobre --pedra */
  --fio-claro: rgba(242, 239, 232, .16);
  --fio-escuro: rgba(15, 15, 17, .16);
  --foco: var(--tinta);

  --f-titulo: 'Archivo', sans-serif;
  --f-texto: 'Source Serif 4', Georgia, serif;
  --f-mono: 'IBM Plex Mono', ui-monospace, monospace;

  --vermelho: #ff4136;      /* ponto "ao vivo" sobre o preto: 5,4:1 */
  --vermelho-escuro: #8f1209; /* ponto "ao vivo" sobre o dourado: 3,9:1 */
  --larg: 1240px;
  --gut: clamp(1rem, 4vw, 2.5rem);
  --sec: clamp(4rem, 9vw, 7.5rem);
  --ease: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--f-texto);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--texto);
  background: var(--pedra);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
h1, h2, h3 {
  font-family: var(--f-titulo);
  font-stretch: 84%;
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.012em;
  margin: 0;
  text-wrap: balance;
}
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; }
address { font-style: normal; }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 3px; border-radius: 0; }
.escuro, .faixa-plantao, .topo, .abertura, .missao, .chamada, .rodape, .cab-pag, .menu-mobile, .barra-acao, .plantao-faz { --foco: var(--ouro); }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.pular { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--ouro); color: var(--tinta); padding: .7rem 1rem; border-radius: 0; font-family: var(--f-titulo); font-weight: 600; }
.pular:focus { top: 1rem; }

.rotulo {
  font-family: var(--f-mono);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 1rem;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: var(--texto-2);
}
.rotulo--ouro { color: var(--ouro); }
.rotulo--ouro::before { content: ""; width: 2rem; height: 1px; background: currentColor; }

/* ponto vermelho "ao vivo" do plantão: o único elemento redondo além das fotos da equipe */
.pulso { width: .6rem; height: .6rem; border-radius: 50%; background: var(--vermelho); flex: none; animation: pulso 1.8s ease-in-out infinite; }
.faixa-plantao .pulso, .plantao-cartao .pulso { background: var(--vermelho-escuro); }
@keyframes pulso { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.82); } }

.ic { width: 1.2em; height: 1.2em; flex: none; }

/* ---------- botões: pílulas ---------- */
.bt {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 48px; padding: .75rem 1.45rem;
  border-radius: 0; border: 1.5px solid transparent;
  font-family: var(--f-titulo); font-weight: 600; font-size: 1rem; font-stretch: 96%; letter-spacing: .005em;
  text-decoration: none; cursor: pointer; line-height: 1.2; text-align: center;
  transition: transform .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.bt:hover { transform: translateY(-2px); }
.bt:active { transform: none; }
.bt--ouro { background: var(--ouro); color: var(--tinta); }
.bt--ouro:hover { box-shadow: 0 10px 28px -10px rgba(197, 161, 81, .75); }
.bt--tinta { background: var(--tinta); color: var(--claro); }
.bt--tinta:hover { box-shadow: 0 10px 24px -12px rgba(15, 15, 17, .8); }
.bt--linha { border-color: var(--tinta); color: var(--tinta); }
.bt--linha:hover { background: var(--tinta); color: var(--claro); }
.bt--linha-clara { border-color: rgba(242, 239, 232, .45); color: var(--claro); }
.bt--linha-clara:hover { border-color: var(--ouro); color: var(--ouro); }
.bt--peq { min-height: 44px; padding: .55rem 1.1rem; font-size: .95rem; }
.linha-bt { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }

.link-seta {
  font-family: var(--f-titulo); font-weight: 600; font-stretch: 96%;
  display: inline-flex; align-items: center; gap: .5rem; text-decoration: none;
  border-bottom: 2px solid var(--ouro); padding: .35rem 0 .15rem;
}
.link-seta::after { content: "→"; transition: transform .25s var(--ease); }
.link-seta:hover::after { transform: translateX(4px); }
.link-seta--claro { color: var(--claro); }

/* ---------- faixa de plantão ---------- */
.faixa-plantao { background: var(--ouro); color: var(--tinta); font-family: var(--f-mono); font-size: .78rem; letter-spacing: .06em; }
.faixa-plantao__in { max-width: var(--larg); margin: 0 auto; padding: .45rem var(--gut); display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; align-items: center; justify-content: space-between; }
.faixa-plantao__rot { display: inline-flex; gap: .55rem; align-items: center; text-transform: uppercase; font-weight: 500; }
.faixa-plantao a { display: inline-flex; gap: .45rem; align-items: center; font-weight: 500; text-decoration: underline; min-height: 32px; }
.faixa-plantao { --foco: var(--tinta); }

/* ---------- cabeçalho ---------- */
.topo { position: sticky; top: 0; z-index: 50; background: rgba(15, 15, 17, .97); border-bottom: 1px solid var(--fio-claro); color: var(--claro); }
.topo__in { max-width: var(--larg); margin: 0 auto; padding: .55rem var(--gut); display: flex; align-items: center; gap: 1.5rem; }
.marca img { height: 62px; width: auto; }
.nav { margin-left: auto; }
.nav ul { list-style: none; display: flex; gap: .2rem; }
.nav a {
  display: block; padding: .6rem .7rem; font-family: var(--f-titulo); font-size: .95rem; font-weight: 500; font-stretch: 92%;
  text-decoration: none; color: var(--claro-2); border-radius: 0; transition: color .2s, background-color .2s;
}
.nav a:hover { color: var(--claro); background: var(--tinta-3); }
.nav a[aria-current="page"] { color: var(--tinta); background: var(--ouro); }
.menu-toggle {
  display: none; margin-left: auto; align-items: center; gap: .6rem; min-height: 44px; padding: .5rem 1rem;
  background: transparent; color: var(--claro); border: 1.5px solid var(--fio-claro); border-radius: 0;
  font-family: var(--f-titulo); font-weight: 600; font-size: .95rem; cursor: pointer;
}
.menu-toggle__barras { display: grid; gap: 5px; width: 18px; }
.menu-toggle__barras span { height: 2px; background: currentColor; transition: transform .3s var(--ease); }
.menu-toggle[aria-expanded="true"] .menu-toggle__barras span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__barras span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.menu-mobile {
  position: fixed; inset: 0 0 0 auto; width: min(440px, 100%); z-index: 45; overflow-y: auto;
  background: var(--tinta-2); color: var(--claro); padding: 8.5rem var(--gut) 6rem;
  box-shadow: -30px 0 60px rgba(0, 0, 0, .5);
}
.menu-mobile[hidden] { display: none; }
.menu-mobile__lista { list-style: none; border-top: 1px solid var(--fio-claro); margin-bottom: 2rem; }
.menu-mobile__lista a { display: flex; justify-content: space-between; padding: .9rem 0; border-bottom: 1px solid var(--fio-claro); font-family: var(--f-titulo); font-size: 1.5rem; font-weight: 600; font-stretch: 86%; text-decoration: none; }
.menu-mobile__lista a[aria-current="page"] { color: var(--ouro); }
.menu-mobile .rotulo { color: var(--claro-2); }
.menu-mobile__areas { list-style: none; display: grid; gap: .25rem; margin-bottom: 2rem; }
.menu-mobile__areas a { display: block; padding: .45rem 0; color: var(--claro-2); }
.menu-mobile__acoes { display: grid; gap: .75rem; }
body.menu-aberto { overflow: hidden; }

/* ---------- abertura: foto do Dr. Júlio como fundo, largura toda, P&B; texto à esquerda sobre o degradê ---------- */
.abertura {
  position: relative; background: var(--tinta); color: var(--claro); overflow: hidden; isolation: isolate;
  min-height: max(36rem, min(88vh, 62rem)); display: flex; align-items: center;
  padding: clamp(3rem, 6vw, 5rem) var(--gut);
}
.abertura__foto { position: absolute; inset: 0; z-index: -2; display: block; }
.abertura__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 12%; }
/* degradê: preto opaco atrás do texto, sumindo antes do rosto (rosto em ~71% da largura) */
.abertura::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, #0f0f11 0%, #0f0f11 38%, rgba(15, 15, 17, .82) 48%, rgba(15, 15, 17, .35) 58%, rgba(15, 15, 17, 0) 66%),
    linear-gradient(0deg, rgba(15, 15, 17, .55) 0%, rgba(15, 15, 17, 0) 22%);
}
.abertura__in { position: relative; width: 100%; max-width: var(--larg); margin: 0 auto; }
.abertura__texto { max-width: min(44rem, 50%); }
.abertura h1 { font-size: clamp(2.35rem, 4.9vw, 4.6rem); font-stretch: 80%; line-height: 1.01; letter-spacing: -.02em; margin-bottom: 1.5rem; }
.abertura h1 em { font-style: normal; color: var(--ouro); }
.abertura__lead { font-size: clamp(1.08rem, 1.5vw, 1.25rem); color: var(--claro-2); max-width: 34em; margin-bottom: 2rem; }
.abertura__nome { position: absolute; left: 62%; bottom: 1.25rem; margin: 0; padding: .45rem .75rem; background: rgba(15, 15, 17, .78); font-family: var(--f-mono); font-size: .74rem; letter-spacing: .04em; color: var(--claro-2); display: flex; gap: .6rem; flex-wrap: wrap; }
.abertura__nome strong { font-family: var(--f-titulo); font-size: .92rem; letter-spacing: 0; color: var(--claro); font-weight: 600; }

/* bloco dourado do plantão, logo depois do banner */
.plantao-sec-home { background: var(--tinta); padding: clamp(2rem, 4vw, 3rem) var(--gut) clamp(3rem, 6vw, 5rem); }
.plantao-cartao { max-width: var(--larg); margin: 0 auto; }
.plantao-cartao__in {
  background: var(--ouro); color: var(--tinta); border-radius: 0;
  padding: clamp(1.5rem, 3.5vw, 2.75rem); display: grid; gap: 1.5rem 3rem;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); align-items: start; --foco: var(--tinta);
}
.plantao-cartao .rotulo { color: var(--tinta); grid-column: 1 / -1; margin: 0; }
.plantao-cartao h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }
.plantao-cartao .linha-bt { grid-column: 2; }
.plantao-cartao .link-seta { border-color: var(--tinta); }
.passos { list-style: none; counter-reset: p; display: grid; gap: .8rem; }
.passos li { counter-increment: p; display: grid; grid-template-columns: 2.4rem 1fr; gap: .8rem; align-items: baseline; }
.passos li::before { content: counter(p, decimal-leading-zero); font-family: var(--f-mono); font-size: .85rem; font-weight: 500; border-top: 1.5px solid currentColor; padding-top: .3rem; }

/* ---------- entradas e revelação ---------- */
.js .entra { opacity: 0; transform: translateY(18px); animation: entra .9s var(--ease) forwards; }
.js .entra:nth-child(2) { animation-delay: .08s; } .js .entra:nth-child(3) { animation-delay: .16s; } .js .entra:nth-child(4) { animation-delay: .24s; }
.js .plantao-cartao.entra { animation-delay: .3s; }
@keyframes entra { to { opacity: 1; transform: none; } }
.js .surge { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js .surge.visivel { opacity: 1; transform: none; }

/* ---------- seções comuns ---------- */
.sec-cab { max-width: 46rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.sec-cab h2 { font-size: clamp(1.9rem, 3.8vw, 3.1rem); margin-bottom: 1rem; }
.sec-cab p { color: var(--texto-2); }
.sec-cab--lado { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem 4rem; align-items: end; }

/* áreas em linhas */
.areas-home { padding: var(--sec) var(--gut); }
.areas-home__in, .equipe-home__in, .onde__in { max-width: var(--larg); margin: 0 auto; }
.areas-lista { list-style: none; border-top: 2px solid var(--tinta); }
.area-linha { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 1.25rem 3rem; padding: clamp(1.6rem, 3vw, 2.5rem) 0; border-bottom: 1px solid var(--fio-escuro); transition: background-color .3s var(--ease); }
.area-linha__cab { display: grid; grid-template-columns: auto 1fr; gap: 0 1rem; align-content: start; }
.area-linha__n { font-family: var(--f-mono); font-size: .85rem; padding-top: .55rem; color: var(--texto-2); }
.area-linha h3, .area-bloco h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); font-stretch: 78%; }
.area-linha h3 a, .area-bloco h2 a { text-decoration: none; background: linear-gradient(var(--ouro), var(--ouro)) 0 100% / 0 .14em no-repeat; transition: background-size .35s var(--ease); }
.area-linha h3 a:hover, .area-bloco h2 a:hover { background-size: 100% .14em; }
.area-linha__qtd { grid-column: 2; font-family: var(--f-mono); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-2); margin: .6rem 0 0; }
.area-linha__servicos { list-style: none; display: flex; flex-wrap: wrap; gap: .45rem; align-content: start; }
.area-linha__servicos a, .lista-servicos a {
  display: inline-block; padding: .38rem .8rem; border: 1px solid var(--fio-escuro); border-radius: 0;
  font-size: .95rem; line-height: 1.35; text-decoration: none; background: var(--branco); transition: border-color .2s, background-color .2s;
}
.area-linha__servicos a:hover, .lista-servicos a:hover { border-color: var(--tinta); background: #fff; }

/* missão */
.missao { background: var(--tinta-2); color: var(--claro); padding: var(--sec) var(--gut); position: relative; overflow: hidden; }
.missao__in { max-width: 62rem; margin: 0 auto; }
.missao blockquote { margin: 0 0 3rem; }
.missao blockquote p { font-family: var(--f-texto); font-style: italic; font-weight: 400; font-size: clamp(1.6rem, 3.6vw, 2.75rem); line-height: 1.25; text-wrap: balance; margin: 0; }
.missao blockquote p::before { content: "“"; color: var(--ouro); }
.missao blockquote p::after { content: "”"; color: var(--ouro); }
.missao__valores, .mvp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 3rem; margin: 0 0 2.5rem; border-top: 1px solid var(--fio-claro); padding-top: 2rem; }
.missao dt, .mvp dt { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro); margin-bottom: .5rem; }
.missao dd, .mvp dd { margin: 0; color: var(--claro-2); }
.missao--pagina h2 { font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 2rem; }
.mvp { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* onde */
.onde { padding: clamp(3rem, 6vw, 5rem) var(--gut); background: var(--pedra-2); }
.onde__in { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 2rem 4rem; align-items: end; }
.onde h2 { font-size: clamp(1.9rem, 3.8vw, 3rem); margin-bottom: 1rem; }
.onde__hora .rotulo { margin: 0 .5rem 0 0; }
.onde__acoes { display: grid; gap: .75rem; justify-items: start; }
.onde__acoes .bt--linha span { overflow-wrap: anywhere; }

/* chamada final */
.chamada { background: var(--tinta); color: var(--claro); padding: clamp(3.5rem, 7vw, 6rem) var(--gut); }
.chamada__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 2rem 4rem; align-items: center; }
.chamada h2 { font-size: clamp(2rem, 4.5vw, 3.6rem); font-stretch: 80%; margin-bottom: .8rem; }
.chamada p { color: var(--claro-2); max-width: 34em; margin: 0; }
.chamada__acoes { display: grid; gap: .75rem; justify-items: stretch; }

/* rodapé */
.rodape { background: #0a0a0b; color: var(--claro-2); padding: clamp(3.5rem, 6vw, 5rem) var(--gut) 1.5rem; font-size: .97rem; }
.rodape__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: 1.3fr .8fr 1fr 1.3fr; gap: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--fio-claro); }
.rodape__marca img { width: 170px; margin: -10px 0 1rem -10px; }
.rodape .rotulo { color: var(--ouro); font-size: .72rem; }
.rodape ul { list-style: none; display: grid; gap: .45rem; }
.rodape a { text-decoration: none; color: var(--claro); }
.rodape a:hover { color: var(--ouro); text-decoration: underline; }
.rodape address strong { color: var(--claro); font-weight: 600; }
.rodape__fim { max-width: var(--larg); margin: 0 auto; padding-top: 1.25rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .03em; }
.rodape__fim p { margin: 0; }

/* WhatsApp fixo (computador) e barra de ação (celular) */
.wa-fixo { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 40; width: 62px; height: 62px; border-radius: 0; display: grid; place-items: center; background: var(--ouro); color: var(--tinta); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .55); transition: transform .25s var(--ease); --foco: var(--tinta); }
.wa-fixo .ic { width: 28px; height: 28px; }
.wa-fixo:hover { transform: scale(1.06); }
.barra-acao { display: none; }

/* ---------- páginas internas ---------- */
.cab-pag { background: var(--tinta); color: var(--claro); padding: clamp(2.5rem, 6vw, 5rem) var(--gut) clamp(2.5rem, 5vw, 4rem); position: relative; isolation: isolate; overflow: hidden; }
.cab-pag::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(90deg, transparent 0 calc(100% / 6 - 1px), rgba(242, 239, 232, .045) calc(100% / 6 - 1px) calc(100% / 6)); }
.cab-pag__in { max-width: var(--larg); margin: 0 auto; }
.cab-pag h1 { font-size: clamp(2.3rem, 5.5vw, 4.4rem); font-stretch: 80%; max-width: 18em; margin-bottom: 1.2rem; }
.cab-pag__lead { color: var(--claro-2); font-size: clamp(1.05rem, 1.5vw, 1.2rem); max-width: 42em; margin-bottom: 0; }
.cab-pag .linha-bt { margin-top: 2rem; }
.cab-pag--plantao .rotulo--ouro::before { display: none; }
.trilha ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem .5rem; font-family: var(--f-mono); font-size: .75rem; color: var(--claro-2); margin-bottom: 2rem; }
.trilha li + li::before { content: "/"; margin-right: .5rem; color: var(--ouro); }
.trilha a { color: var(--claro); }

/* página de área */
.area-corpo { max-width: var(--larg); margin: 0 auto; padding: var(--sec) var(--gut); display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: 3rem clamp(2rem, 5vw, 5rem); align-items: start; }
.indice { position: sticky; top: 6.5rem; }
.indice summary { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-2); cursor: pointer; padding: .4rem 0; list-style: none; }
.indice summary::-webkit-details-marker { display: none; }
.indice ol { list-style: none; border-left: 2px solid var(--tinta); margin-top: .75rem; max-height: calc(100vh - 10rem); overflow-y: auto; }
.indice a { display: block; padding: .32rem 0 .32rem 1rem; font-size: .93rem; line-height: 1.35; text-decoration: none; color: var(--texto-2); }
.indice a:hover { color: var(--texto); text-decoration: underline; }
.area-intro p { font-size: clamp(1.1rem, 1.6vw, 1.25rem); max-width: 38em; }
.aviso-plantao { margin: 2rem 0 0; padding: 1.25rem 1.5rem; border-radius: 0; background: var(--tinta); color: var(--claro); display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; --foco: var(--ouro); }
.aviso-plantao p { margin: 0; max-width: 32em; }
.grupo { margin-top: clamp(3rem, 6vw, 4.5rem); }
.grupo > h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); padding-bottom: 1rem; border-bottom: 2px solid var(--tinta); }
.grupo__lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; }
.servico { padding: 1.5rem 0; border-bottom: 1px solid var(--fio-escuro); scroll-margin-top: 7.5rem; }
.servico h3 { font-size: 1.3rem; font-stretch: 88%; margin-bottom: .5rem; }
.servico p { margin: 0; color: var(--texto-2); }
.outras { margin-top: 4rem; }
.outras ul { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; }
.outras a { display: inline-block; padding: .55rem 1.1rem; border-radius: 0; background: var(--tinta); color: var(--claro); text-decoration: none; font-family: var(--f-titulo); font-weight: 600; font-stretch: 92%; }
.outras a:hover { background: var(--ouro); color: var(--tinta); }

/* índice das áreas */
.areas-indice { max-width: var(--larg); margin: 0 auto; padding: var(--sec) var(--gut); display: grid; gap: 0; }
.area-bloco { padding: clamp(2rem, 4vw, 3rem) 0; border-top: 2px solid var(--tinta); scroll-margin-top: 7rem; }
.area-bloco header { display: flex; gap: 1rem; align-items: baseline; margin-bottom: 1rem; }
.area-bloco > p { max-width: 44em; color: var(--texto-2); }
.lista-servicos { list-style: none; display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.5rem 0 2rem; }

/* FAQ */
.faq { padding: var(--sec) var(--gut); background: var(--branco); }
.faq__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2rem 5rem; align-items: start; }
.faq__cab h2 { font-size: clamp(1.8rem, 3.4vw, 2.7rem); margin-bottom: 1rem; }
.faq__nota { font-size: .95rem; color: var(--texto-2); }
.faq__lista { border-top: 2px solid var(--tinta); }
.faq__item { border-bottom: 1px solid var(--fio-escuro); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.25rem 0; font-family: var(--f-titulo); font-weight: 600; font-stretch: 90%; font-size: clamp(1.08rem, 1.6vw, 1.25rem); line-height: 1.3; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__mais { flex: none; width: 2.2rem; height: 2.2rem; border-radius: 0; border: 1.5px solid var(--tinta); position: relative; transition: background-color .25s, transform .35s var(--ease); }
.faq__mais::before, .faq__mais::after { content: ""; position: absolute; left: 50%; top: 50%; width: .8rem; height: 1.5px; background: currentColor; transform: translate(-50%, -50%); }
.faq__mais::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq__item[open] .faq__mais { background: var(--ouro); border-color: var(--ouro); transform: rotate(45deg); }
.faq__item p { margin: 0 0 1.5rem; max-width: 40em; color: var(--texto-2); }

/* plantão */
.plantao-sec { padding: var(--sec) var(--gut); }
.plantao-sec__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 5rem; }
.plantao-col h2 { font-size: clamp(1.6rem, 2.8vw, 2.3rem); margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 2px solid var(--tinta); }
.lista-marcas { list-style: none; display: grid; gap: .9rem; }
.lista-marcas li { padding-left: 1.6rem; position: relative; }
.lista-marcas li::before { content: ""; position: absolute; left: 0; top: .6em; width: .65rem; height: .65rem; border-radius: 0; background: var(--ouro); box-shadow: 0 0 0 1.5px var(--tinta); }
.plantao-faz { background: var(--tinta-2); color: var(--claro); padding: var(--sec) var(--gut); }
.plantao-faz__in { max-width: var(--larg); margin: 0 auto; }
.plantao-faz h2 { font-size: clamp(1.8rem, 3.6vw, 3rem); margin-bottom: 2.5rem; }
.faz-lista { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 2.5rem; }
.faz-lista a { display: grid; gap: .6rem; height: 100%; padding: 1.5rem; border: 1px solid var(--fio-claro); border-radius: 0; text-decoration: none; transition: border-color .25s, transform .25s var(--ease); }
.faz-lista a:hover { border-color: var(--ouro); transform: translateY(-3px); }
.faz-lista strong { font-family: var(--f-titulo); font-size: 1.25rem; font-stretch: 88%; color: var(--ouro); }
.faz-lista span { color: var(--claro-2); font-size: .98rem; }
.nota-hora { color: var(--claro-2); margin: 0; }
.nota-hora .rotulo { color: var(--ouro); margin-right: .5rem; }

/* o escritório */
.texto-longo { padding: var(--sec) var(--gut); }
.texto-longo__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 3rem 5rem; align-items: start; }
.texto-longo__corpo p { font-size: clamp(1.08rem, 1.5vw, 1.2rem); max-width: 36em; }
.capitular::first-letter { font-family: var(--f-titulo); font-weight: 700; font-stretch: 80%; float: left; font-size: 4.6em; line-height: .8; margin: .08em .12em 0 0; color: var(--tinta); }
.ficha { background: var(--branco); border-radius: 0; padding: 2rem; border-top: 6px solid var(--ouro); }
.ficha dl, .contato__dados dl { margin: 0; display: grid; gap: 1.4rem; }
.ficha dt, .contato__dados dt { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-2); margin-bottom: .2rem; }
.ficha dd, .contato__dados dd { margin: 0; }

/* equipe */
.destaque-socio { padding: var(--sec) var(--gut); background: var(--branco); }
.destaque-socio__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 3rem clamp(2rem, 6vw, 6rem); align-items: center; }
.destaque-socio .foto-redonda { max-width: 420px; }
.destaque-socio h2 { font-size: clamp(2.1rem, 4.6vw, 3.8rem); font-stretch: 80%; margin-bottom: .6rem; }
.destaque-socio__bio { font-size: clamp(1.08rem, 1.5vw, 1.2rem); max-width: 34em; margin-top: 1.25rem; }
.perfil__cargo { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-2); margin-bottom: .6rem; }
.perfil__reg { display: inline-block; font-family: var(--f-mono); font-size: .82rem; font-weight: 500; padding: .25rem .7rem; border-radius: 0; background: var(--tinta); color: var(--claro); margin-bottom: .5rem; }
.fatos { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; border-top: 1px solid var(--fio-escuro); padding-top: 1.5rem; }
.fatos strong { display: block; font-family: var(--f-titulo); font-size: clamp(1.8rem, 3.4vw, 2.6rem); font-stretch: 78%; line-height: 1; margin-bottom: .4rem; }
.fatos span { font-size: .92rem; color: var(--texto-2); line-height: 1.35; display: block; }
.equipe-lista { padding: var(--sec) var(--gut); }
.equipe-lista__in { max-width: var(--larg); margin: 0 auto; }
.equipe-lista__tit { font-size: clamp(1.6rem, 3vw, 2.3rem); padding-bottom: 1rem; border-bottom: 2px solid var(--tinta); margin-bottom: 2rem; }
.equipe-lista__tit + .perfis + .equipe-lista__tit { margin-top: 4rem; }
.perfis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 2rem; }
.perfil { scroll-margin-top: 7rem; }
.perfil .foto-redonda { margin-bottom: 1.25rem; max-width: 240px; }
.perfil h3 { font-size: 1.5rem; font-stretch: 86%; margin-bottom: .6rem; }
.perfil p:last-child { color: var(--texto-2); font-size: .98rem; }

/* contato */
.contato { padding: var(--sec) var(--gut); }
.contato__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem 5rem; align-items: start; }
.contato__dados .grande { font-family: var(--f-titulo); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; font-stretch: 80%; text-decoration: none; line-height: 1.1; }
.contato__dados a { overflow-wrap: anywhere; }
.form { background: var(--branco); border-radius: 0; padding: clamp(1.5rem, 3.5vw, 2.75rem); display: grid; gap: 1.1rem; }
.form h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.form__info { margin: 0; color: var(--texto-2); font-size: .95rem; }
.campo { display: grid; gap: .35rem; }
.campo label { font-family: var(--f-titulo); font-weight: 600; font-size: .95rem; }
.campo input, .campo textarea { -webkit-appearance: none; appearance: none; }
.campo input[type=checkbox] { -webkit-appearance: auto; appearance: auto; }
.campo input, .campo select, .campo textarea { font: inherit; font-size: 1rem; color: var(--texto); background: #fff; border: 1.5px solid #8a877f; border-radius: 0; padding: .75rem .9rem; min-height: 48px; width: 100%; }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible { outline: 3px solid var(--tinta); outline-offset: 1px; border-color: var(--tinta); }
.campo--check { grid-template-columns: auto 1fr; gap: .75rem; align-items: start; }
.campo--check input { width: 22px; height: 22px; min-height: 0; margin-top: .15rem; accent-color: var(--tinta); }
.campo--check label { font-family: var(--f-texto); font-weight: 400; font-size: .95rem; }
.form__erro { margin: 0; color: #8f1d14; font-weight: 600; }
.form .bt { justify-self: start; }
.mapa-sec { padding: 0 var(--gut) var(--sec); }
.mapa-sec__in { max-width: var(--larg); margin: 0 auto; }
.mapa-sec h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); margin-bottom: .5rem; }
.mapa { width: 100%; height: 420px; border: 0; border-radius: 0; filter: grayscale(1) contrast(1.05); background: var(--pedra-2); }

.cab-pag--404 { min-height: 55vh; display: grid; align-items: center; }

/* ---------- responsivo ---------- */
@media (max-width: 1120px) {
  .nav, .topo__wa { display: none; }
  .menu-toggle { display: inline-flex; }
  .faz-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rodape__in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .plantao-cartao__in { grid-template-columns: 1fr; }
  .plantao-cartao .linha-bt { grid-column: auto; }
  .area-linha, .sec-cab--lado, .onde__in, .chamada__in, .faq__in, .texto-longo__in, .destaque-socio__in, .contato__in, .plantao-sec__in { grid-template-columns: 1fr; }
  .area-corpo { grid-template-columns: 1fr; padding-top: 2rem; }
  .indice { position: static; border: 1px solid var(--fio-escuro); border-radius: 0; padding: .6rem 1.1rem; background: var(--branco); }
  .indice summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; }
  .indice summary::after { content: "+"; font-size: 1.2rem; }
  .indice details[open] summary::after { content: "–"; }
  .indice ol { max-height: none; }
  .grupo__lista { grid-template-columns: 1fr; }
  .perfis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mvp, .missao__valores { grid-template-columns: 1fr; }
  .destaque-socio .foto-redonda { max-width: 300px; }
}
@media (max-width: 767px) {
  body { padding-bottom: 64px; font-size: 1.0625rem; }
  .wa-fixo { display: none; }
  .barra-acao { display: grid; grid-template-columns: 1.4fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 44; height: 64px; box-shadow: 0 -8px 24px rgba(0, 0, 0, .25); }
  .barra-acao a { display: flex; align-items: center; justify-content: center; gap: .5rem; font-family: var(--f-titulo); font-weight: 600; font-size: 1.02rem; text-decoration: none; }
  .barra-acao__wa { background: var(--ouro); color: var(--tinta); --foco: var(--tinta); }
  .barra-acao__tel { background: var(--tinta); color: var(--claro); }
  .barra-acao :focus-visible { outline-offset: -5px; }
  .marca img { height: 50px; }
  .faixa-plantao__in { justify-content: center; text-align: center; }
  .rodape__in { grid-template-columns: 1fr; }
  .fatos { grid-template-columns: 1fr; }
  .fatos li { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; align-items: baseline; }
  .faz-lista { grid-template-columns: 1fr; }
  .chamada__acoes .bt, .linha-bt .bt { width: 100%; }
  .linha-bt .link-seta { margin-top: .25rem; }
  .menu-mobile { padding-top: 9rem; }
  .mapa { height: 320px; }
}
@media (max-width: 560px) {
  .perfis { grid-template-columns: 1fr; }
  .perfil { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0 1.1rem; align-items: start; }
  .perfil .foto-redonda { margin: 0; }
  .menu-toggle__txt { display: none; }
  .menu-toggle { padding: .5rem .85rem; }
}
@media (max-width: 360px) {
  .faixa-plantao { font-size: .7rem; }
  .abertura h1 { font-size: 2.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .entra, .js .surge { opacity: 1; transform: none; }
  .pulso { animation: none; opacity: 1; transform: none; }
}
@media print {
  .faixa-plantao, .topo, .barra-acao, .wa-fixo, .menu-mobile { display: none !important; }
}

/* celular: foto no topo do banner, degradê de baixo para cima, texto embaixo sobre o escuro (o rosto fica livre) */
@media (max-width: 760px) {
  .abertura { display: block; min-height: 0; padding: 0; }
  .abertura__foto { position: relative; inset: auto; z-index: 0; aspect-ratio: 4 / 5; max-height: 74vh; overflow: hidden; }
  .abertura__foto img { object-position: 50% 0%; }
  .abertura__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #0f0f11 0%, #0f0f11 12%, rgba(15, 15, 17, .7) 22%, rgba(15, 15, 17, 0) 33%); }
  .abertura::after { display: none; }
  .abertura__in { margin-top: -3.25rem; padding: 0 var(--gut) 2.75rem; z-index: 1; }
  .abertura__texto { max-width: none; }
  .abertura__nome { left: var(--gut); top: .35rem; bottom: auto; font-size: .62rem; padding: .2rem .5rem; gap: .1rem .45rem; line-height: 1.3; }
  .abertura__nome strong { font-size: .74rem; }
}
