/* ═══════════════════════════════════════════════════════════
   Moraes & Teixeira Advogados — folha de estilo
   Editorial escuro · tipografia como imagem
   ═══════════════════════════════════════════════════════════ */

:root{
  --noite:#0E1320;
  --noite-2:#141B2B;
  --noite-3:#080C15;
  --perg:#EDE6D8;
  --perg-2:#E3DACA;
  --bordo:#7A1F2B;
  --bordo-claro:#A33A47;
  --latao:#B08D57;
  --latao-fundo:#7C5A28;   /* latão escurecido, para uso sobre pergaminho */
  --latao-claro:#CBAA78;

  --claro:#E9E3D7;
  --claro-med:rgba(233,227,215,.70);
  --claro-fraco:rgba(233,227,215,.60);
  --escuro:#151B29;
  --escuro-med:rgba(21,27,41,.72);
  --escuro-fraco:rgba(21,27,41,.63);

  --fio-latao:rgba(176,141,87,.34);
  --fio-escuro:rgba(21,27,41,.18);

  --disp:"Libre Caslon Display", Georgia, "Times New Roman", serif;
  --serif:"Libre Caslon Text", Georgia, "Times New Roman", serif;
  --sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --pad:clamp(1.25rem, 5.2vw, 4rem);
  --max:1320px;
  --secao:clamp(4.5rem, 11vw, 9.5rem);
  --e:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:5.5rem;
}

body{
  margin:0;
  background:var(--noite);
  color:var(--claro);
  font-family:var(--sans);
  font-size:1.0625rem;
  line-height:1.66;
  overflow-x:hidden;
  padding-bottom:5.25rem; /* espaço reservado p/ a barra inferior no mobile */
  -webkit-font-smoothing:antialiased;
}

/* grão sutil sobre toda a página */
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:40;
  pointer-events:none;
  opacity:.055;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E");
  background-size:220px 220px;
}

img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

a{color:inherit;text-decoration:none}

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--latao-claro);
  outline-offset:3px;
  border-radius:1px;
}

.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--perg);color:var(--noite);
  padding:.85rem 1.25rem;font-family:var(--mono);font-size:.8rem;
}
.skip:focus{left:.5rem;top:.5rem}

.wrap{
  width:100%;
  max-width:var(--max);
  margin-inline:auto;
  padding-inline:var(--pad);
}

/* ── utilitários tipográficos ───────────────────────────── */
.mono{
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.5;
  font-weight:400;
}

.tit{
  font-family:var(--disp);
  font-size:clamp(2rem, 6.4vw, 3.55rem);
  line-height:1.06;
  letter-spacing:-.012em;
  color:var(--escuro);
  max-width:19ch;
}
.tit--claro{color:var(--claro)}

.corpo{
  font-family:var(--serif);
  font-size:clamp(1.0625rem, 2.8vw, 1.1875rem);
  line-height:1.72;
  color:var(--escuro-med);
  max-width:58ch;
}
.corpo--claro{color:var(--claro-med)}

.rotulo{
  display:flex;align-items:center;gap:.7rem;
  font-family:var(--mono);font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--bordo);
  margin-bottom:1.5rem;
}
.rotulo__n{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:2.1rem;height:1.55rem;
  border:1px solid var(--fio-latao);
  color:var(--latao-fundo);
  font-size:.66rem;letter-spacing:.1em;
}
.rotulo--claro{color:var(--latao-claro)}
.rotulo--claro .rotulo__n{color:var(--latao);border-color:var(--fio-latao)}

/* ── botões ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:3rem;padding:.85rem 1.6rem;
  font-family:var(--sans);font-size:.94rem;font-weight:500;
  letter-spacing:.02em;
  border:1px solid transparent;
  cursor:pointer;
  transition:background .3s var(--e), color .3s var(--e), border-color .3s var(--e), transform .3s var(--e);
}
.btn--bordo{background:var(--bordo);color:#F6EFE3;border-color:var(--bordo)}
.btn--bordo:hover{background:#65131E;border-color:#65131E}
.btn--bordo:active{transform:translateY(1px)}
.btn--latao{
  background:transparent;color:var(--latao-claro);
  border-color:var(--fio-latao);
}
.btn--latao:hover{background:var(--latao);color:var(--noite);border-color:var(--latao)}
.btn--bloco{width:100%;margin-top:.5rem}

/* ═══════ CABEÇALHO ═══════════════════════════════════════ */
.cab{
  position:sticky;top:0;z-index:60;
  background:var(--noite);
  border-bottom:1px solid rgba(176,141,87,.2);
}
.cab__int{
  max-width:var(--max);margin-inline:auto;
  padding:.85rem var(--pad);
  display:flex;align-items:center;gap:1rem;
}

.marca{display:flex;align-items:center;gap:.7rem;min-height:46px;color:var(--latao);flex:1 1 auto;min-width:0}
.marca__selo{flex:none;transition:transform .5s var(--e)}
.marca:hover .marca__selo{transform:rotate(90deg)}
.marca__txt{display:block;min-width:0}
.marca__nome{
  display:block;font-family:var(--disp);
  font-size:clamp(1.02rem,3.6vw,1.22rem);line-height:1.1;
  color:var(--claro);letter-spacing:.005em;white-space:nowrap;
}
.marca__nome em{font-family:var(--serif);font-style:italic;color:var(--latao)}
.marca__sub{
  display:flex;gap:.5rem;font-family:var(--mono);
  font-size:clamp(.62rem, 2.2vw, .72rem);
  letter-spacing:.09em;text-transform:uppercase;
  color:var(--claro-fraco);margin-top:.2rem;white-space:nowrap;
}
.marca__sub span + span{padding-left:.5rem;border-left:1px solid rgba(176,141,87,.35)}

.cab__cta{display:none}

.hamb{
  flex:none;width:46px;height:46px;
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  padding:0 10px;background:none;border:1px solid rgba(176,141,87,.28);
  cursor:pointer;
}
.hamb__l{display:block;height:1px;background:var(--latao-claro);transition:transform .35s var(--e), opacity .25s}
.hamb__l:nth-child(1){width:100%}
.hamb__l:nth-child(2){width:72%}
.hamb__l:nth-child(3){width:100%}
.hamb[aria-expanded="true"] .hamb__l:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamb[aria-expanded="true"] .hamb__l:nth-child(2){opacity:0}
.hamb[aria-expanded="true"] .hamb__l:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* menu mobile */
.nav{
  position:fixed;left:0;right:0;bottom:0;
  top:var(--menuTop,64px);
  z-index:50;
  background:var(--noite-3);
  padding:clamp(1.5rem,6vw,2.5rem) var(--pad) 2rem;
  display:flex;flex-direction:column;justify-content:space-between;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  /* visibility sem atraso ao abrir (para o foco entrar na gaveta na hora)
     e com atraso ao fechar, para o esmaecimento terminar antes de sumir */
  transition:opacity .35s var(--e), transform .35s var(--e), visibility 0s linear .35s;
  overflow-y:auto;
}
body.menu-on .nav{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .35s var(--e), transform .35s var(--e), visibility 0s;
}
body.menu-on{overflow:hidden}

.nav__lista{display:flex;flex-direction:column;gap:.15rem}
.nav__lista a{
  display:flex;align-items:baseline;gap:1rem;
  padding:.85rem 0;
  font-family:var(--disp);
  font-size:clamp(1.6rem,7.5vw,2.4rem);
  line-height:1.15;color:var(--claro);
  border-bottom:1px solid rgba(176,141,87,.15);
  transition:color .3s var(--e), padding-left .3s var(--e);
}
.nav__lista a:hover{color:var(--latao-claro);padding-left:.4rem}
.nav__n{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;
  color:var(--latao);flex:none;
}
.nav__rodape{
  margin-top:2.5rem;padding-top:1.4rem;
  border-top:1px solid rgba(176,141,87,.22);
  display:flex;flex-direction:column;gap:.55rem;
  color:var(--claro-fraco);
}
.nav__cta{width:100%;margin-bottom:.9rem}
.nav__tel{color:var(--latao-claro);font-size:.82rem;letter-spacing:.1em;min-height:44px;display:flex;align-items:center}

/* ═══════ HERO ════════════════════════════════════════════ */
.hero{
  background:var(--noite);
  padding-block:clamp(2.75rem,9vw,5rem) clamp(3rem,8vw,5.5rem);
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 85% at 82% 0%, rgba(176,141,87,.13), transparent 62%),
    radial-gradient(90% 70% at 4% 96%, rgba(122,31,43,.20), transparent 60%);
  pointer-events:none;
}
.hero .wrap{position:relative}

.hero__fio{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-bottom:.85rem;
  border-bottom:1px solid var(--fio-latao);
  color:var(--latao);
}
.hero__fio p:last-child{color:var(--claro-fraco)}

.hero__t{
  margin-top:clamp(1.75rem,6vw,3rem);
  font-family:var(--disp);
  letter-spacing:-.022em;
}
.hero__l1{
  display:block;
  font-size:clamp(2.6rem, 11.4vw, 9.2rem);
  line-height:.94;
  color:var(--claro);
  text-wrap:balance;
}
.hero__l2{
  display:block;
  margin-top:clamp(.5rem,1.6vw,1rem);
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.35rem, 5.4vw, 4.1rem);
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--latao-claro);
  text-wrap:balance;
}

.hero__base{
  margin-top:clamp(2.25rem,6vw,3.75rem);
  display:grid;gap:1.9rem;
}
.hero__p{
  font-family:var(--serif);
  font-size:clamp(1.0625rem,2.9vw,1.22rem);
  line-height:1.72;
  color:var(--claro-med);
  max-width:52ch;
}
.hero__acao{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem}
.hero__link{
  display:inline-flex;align-items:center;gap:.6rem;min-height:44px;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--latao-claro);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--e)}
.hero__link svg{transition:transform .35s var(--e)}
.hero__link:hover{border-color:var(--fio-latao)}
.hero__link:hover svg{transform:translateX(5px)}

.hero__meta{
  margin:clamp(2.5rem,7vw,4.5rem) 0 0;
  display:grid;gap:0;
  border-top:1px solid var(--fio-latao);
}
.hero__meta > div{
  padding:1.05rem 0;
  border-bottom:1px solid rgba(176,141,87,.14);
  display:grid;grid-template-columns:7.5rem 1fr;gap:.85rem;align-items:baseline;
}
.hero__meta > div:last-child{border-bottom:0}
.hero__meta dt{color:var(--latao)}
.hero__meta dd{
  margin:0;font-family:var(--serif);font-size:1rem;color:var(--claro-med);line-height:1.5;
}

/* ═══════ FAIXAS DE IMAGEM ════════════════════════════════ */
.faixa{margin:0;position:relative;background:var(--noite-3)}
.faixa img{
  width:100%;
  height:clamp(200px, 46vw, 460px);
  object-fit:cover;
  filter:saturate(.72) contrast(1.05) brightness(.86);
}
.faixa--mesa img{object-position:center 58%}
.faixa figcaption.mono{
  position:absolute;left:var(--pad);bottom:.9rem;
  color:rgba(233,227,215,.66);
  font-size:.68rem;letter-spacing:.16em;
  text-shadow:0 1px 10px rgba(0,0,0,.8);
}
.faixa--cidade img{height:clamp(320px, 34vw, 520px)}
.faixa--cidade::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(14,19,32,.50) 0%, rgba(14,19,32,.20) 38%, rgba(14,19,32,.94) 100%);
}
.faixa__legenda{
  position:absolute;inset:auto 0 0 0;z-index:2;
  max-width:var(--max);margin-inline:auto;
  padding:0 var(--pad) clamp(1.4rem,4vw,2.75rem);
}
.faixa__legenda .mono{color:var(--latao);margin-bottom:.5rem}
.faixa__frase{
  font-family:var(--disp);
  font-size:clamp(1.72rem,6.8vw,2.9rem);
  line-height:1.1;color:var(--claro);max-width:16ch;
}

/* ═══════ ATUAÇÃO ═════════════════════════════════════════ */
.atuacao{background:var(--perg);color:var(--escuro);padding-block:var(--secao)}

.atuacao__cab{display:grid;gap:2.25rem}
.atuacao__intro .corpo{margin-top:clamp(1.1rem,2.6vw,1.75rem)}
.atuacao__dica{
  color:var(--escuro-fraco);
  margin:clamp(2.75rem,7vw,4.5rem) 0 .85rem;
}

.atuacao__fig{margin:0;position:relative}
.atuacao__fig img{
  width:100%;height:clamp(200px,52vw,340px);object-fit:cover;
  filter:saturate(.62) contrast(1.06);
}
.atuacao__fig::after{
  content:"";position:absolute;inset:0;
  box-shadow:inset 0 0 0 1px rgba(21,27,41,.14);
}

/* tabela de áreas */
.areas{border-top:1px solid rgba(21,27,41,.24)}
.area{border-bottom:1px solid rgba(21,27,41,.16)}

.area__cab{margin:0}
.area__btn{
  width:100%;
  display:grid;
  grid-template-columns:2.15rem 1fr 1.35rem;
  align-items:start;gap:.85rem;
  padding:1.45rem 0;
  background:none;border:0;
  text-align:left;color:inherit;cursor:pointer;
  font:inherit;
  transition:padding-left .4s var(--e), color .3s var(--e);
}
.area__btn:hover{padding-left:.55rem;color:var(--bordo)}
.area__num{
  font-family:var(--disp);
  font-size:clamp(1.05rem,3.4vw,1.35rem);
  line-height:1.25;
  color:var(--latao-fundo);
  letter-spacing:.04em;
  padding-top:.18rem;
  transition:color .3s var(--e);
}
.area__btn:hover .area__num{color:var(--bordo)}
.area__txt{display:block;min-width:0}
.area__nome{
  display:block;
  font-family:var(--disp);
  font-size:clamp(1.42rem,5.2vw,2.35rem);
  line-height:1.12;letter-spacing:-.012em;
}
.area__res{
  display:block;margin-top:.45rem;
  font-family:var(--serif);
  font-size:.99rem;line-height:1.55;
  color:var(--escuro-med);
  max-width:46ch;
}
.area__sinal{
  position:relative;width:1.5rem;height:1.5rem;margin-top:.35rem;flex:none;
}
.area__sinal i{
  position:absolute;left:50%;top:50%;
  width:15px;height:1px;background:currentColor;
  transform:translate(-50%,-50%);
  transition:transform .4s var(--e), opacity .3s var(--e);
  opacity:.75;
}
.area__sinal i:last-child{transform:translate(-50%,-50%) rotate(90deg)}
.area__btn[aria-expanded="true"] .area__sinal i:last-child{transform:translate(-50%,-50%) rotate(0)}
.area__btn[aria-expanded="true"]{color:var(--bordo)}
.area__btn[aria-expanded="true"] .area__num{color:var(--bordo)}

.area__painel{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .45s var(--e);
}
.area.on .area__painel{grid-template-rows:1fr}
.area__dentro{
  overflow:hidden;
  margin-left:.2rem;padding-left:1.15rem;
  border-left:1px solid var(--fio-latao);
}
.area__dentro > *{
  opacity:0;transition:opacity .35s var(--e) .1s;
}
.area.on .area__dentro > *{opacity:1}
.area.on .area__dentro{padding-bottom:1.9rem}
.area__dentro p{
  font-family:var(--serif);font-size:1.02rem;line-height:1.7;
  color:var(--escuro-med);max-width:62ch;
}
.lista{margin-top:1.15rem;display:grid;gap:.15rem}
.lista li{
  position:relative;padding:.5rem 0 .5rem 1.5rem;
  font-size:.96rem;line-height:1.55;
  color:var(--escuro);
  border-top:1px solid rgba(21,27,41,.1);
}
.lista li:first-child{border-top:0}
.lista li::before{
  content:"";position:absolute;left:0;top:1.05em;
  width:.6rem;height:1px;background:var(--latao);
}
.area__nota{
  margin-top:1.3rem;padding-top:.85rem;
  border-top:1px solid var(--fio-latao);
  color:var(--escuro-fraco);font-size:.7rem;letter-spacing:.11em;
}

/* ═══════ MÉTODO ══════════════════════════════════════════ */
.metodo{background:var(--noite);color:var(--claro);padding-block:var(--secao)}
.metodo__wrap{display:grid;gap:2.5rem}

.metodo__fig{margin:0;position:relative}
.metodo__fig img{
  width:100%;height:clamp(240px,62vw,420px);object-fit:cover;object-position:center 42%;
  filter:saturate(.55) contrast(1.08) brightness(.9);
}
.metodo__fig figcaption{
  margin-top:.7rem;color:var(--claro-fraco);font-size:.68rem;letter-spacing:.16em;
}

.metodo__texto{
  display:grid;gap:1.35rem;
  font-family:var(--serif);
  font-size:clamp(1.0625rem,2.8vw,1.1rem);
  line-height:1.78;
  color:var(--claro-med);
  max-width:64ch;
}
.metodo__abre{color:var(--claro)}
.metodo__abre::first-letter{
  float:left;
  font-family:var(--disp);
  font-size:3.6em;line-height:.78;
  padding:.06em .14em 0 0;
  color:var(--latao-claro);
}

.metodo__notas{
  display:grid;gap:1.15rem;
  padding-top:1.5rem;
  border-top:1px solid var(--fio-latao);
}
.nota{
  font-family:var(--sans);font-size:.88rem;line-height:1.6;
  color:var(--claro-fraco);
  padding-left:1rem;
  border-left:1px solid rgba(176,141,87,.28);
}
.nota__n{display:block;color:var(--latao);font-size:.68rem;margin-bottom:.3rem}

/* ═══════ SÓCIOS ══════════════════════════════════════════ */
.socios{background:var(--perg-2);color:var(--escuro);padding-block:var(--secao)}
.socios__grade{margin-top:clamp(2.5rem,6vw,4rem);display:grid;gap:clamp(3rem,7vw,4rem)}

.socio{display:grid;gap:1.5rem}
.retrato{
  margin:0;position:relative;overflow:hidden;
  background:var(--noite);
  aspect-ratio:4/5;
}
.retrato img{
  width:100%;height:100%;object-fit:cover;object-position:center 22%;
  filter:grayscale(1) contrast(1.08) brightness(.94);
  transition:filter .7s var(--e), transform 1.1s var(--e);
}
.retrato::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(168deg,
    rgba(16,22,38,.96) 0%,
    rgba(40,34,46,.92) 52%,
    rgba(78,46,52,.86) 100%);
  mix-blend-mode:color;
  opacity:.8;
  transition:opacity .7s var(--e);
}
.retrato::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(176,141,87,.35);
}
.socio:hover .retrato img{filter:grayscale(.12) contrast(1.02) brightness(1);transform:scale(1.02)}
.socio:hover .retrato::after{opacity:.16}

.socio__corpo{display:grid;gap:.9rem}
.socio__reg{color:var(--bordo);font-size:.7rem;letter-spacing:.16em}
.socio__nome{
  font-family:var(--disp);
  font-size:clamp(1.85rem,6.4vw,2.9rem);
  line-height:1.05;letter-spacing:-.015em;
}
.socio__corpo p:not(.mono){
  font-family:var(--serif);font-size:1.02rem;line-height:1.72;color:var(--escuro-med);
  max-width:48ch;
}
.socio__areas{
  margin-top:.4rem;padding-top:.85rem;
  border-top:1px solid var(--fio-latao);
  color:var(--escuro-fraco);font-size:.7rem;letter-spacing:.13em;
}

.socios__equipe{
  margin-top:clamp(2.75rem,6vw,4rem);
  padding-top:1.5rem;
  border-top:1px solid rgba(21,27,41,.22);
  font-family:var(--serif);font-size:1.02rem;line-height:1.7;
  color:var(--escuro-med);max-width:62ch;
}

/* ═══════ PUBLICAÇÕES ═════════════════════════════════════ */
.pub{background:var(--noite-2);color:var(--claro);padding-block:var(--secao)}
.pubs{margin-top:clamp(2.5rem,6vw,3.75rem);border-top:1px solid var(--fio-latao)}
.pubs__i{
  display:grid;gap:.85rem;
  padding:1.6rem 0;
  border-bottom:1px solid rgba(176,141,87,.15);
  transition:background .4s var(--e);
}
.pubs__data{
  color:var(--latao);font-size:.7rem;letter-spacing:.16em;
}
.pubs__data span{color:var(--claro-fraco)}
.pubs__t{
  font-family:var(--disp);
  font-size:clamp(1.38rem,5.4vw,1.72rem);
  line-height:1.2;letter-spacing:-.008em;
  color:var(--claro);
  max-width:34ch;
}
.pubs__d{
  margin-top:.7rem;
  font-family:var(--serif);font-size:.99rem;line-height:1.66;
  color:var(--claro-med);max-width:56ch;
}
.pubs__meta{
  color:var(--claro-fraco);font-size:.68rem;letter-spacing:.14em;
}
.pubs__meta span{color:var(--latao);display:inline-block;margin-right:.5rem}
.pubs__meta span::after{content:" ·"}
.pub__cab .corpo{margin-top:clamp(1.1rem,2.6vw,1.6rem)}
.pub__fim{
  margin-top:clamp(1.75rem,4vw,2.5rem);
  font-family:var(--serif);font-size:1rem;line-height:1.68;
  color:var(--claro-med);max-width:54ch;
}

/* ═══════ CONTATO ═════════════════════════════════════════ */
.contato{background:var(--perg);color:var(--escuro);padding-block:var(--secao)}
.contato__wrap{display:grid;gap:clamp(2.75rem,7vw,4rem)}
.contato__int{margin-top:1.25rem;max-width:50ch}

.form{margin-top:clamp(2rem,5vw,2.75rem);display:grid;gap:1.25rem}
.form__l{display:grid;gap:1.25rem}
.campo{display:grid;gap:.45rem}
.campo label{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--escuro-med);
}
.campo__op{text-transform:none;letter-spacing:.04em;color:var(--escuro-fraco)}

.campo input,.campo textarea,.campo select{
  width:100%;
  min-height:3rem;
  padding:.8rem .95rem;
  font-family:var(--serif);font-size:1rem;line-height:1.5;
  color:var(--escuro);
  background:rgba(255,255,255,.42);
  border:1px solid rgba(21,27,41,.2);
  border-radius:0;
  transition:border-color .3s var(--e), background .3s var(--e);
  -webkit-appearance:none;appearance:none;
}
.campo textarea{resize:vertical;min-height:8rem}
.campo input:hover,.campo textarea:hover,.campo select:hover{border-color:rgba(21,27,41,.38)}
.campo input:focus,.campo textarea:focus,.campo select:focus{
  border-color:var(--bordo);background:rgba(255,255,255,.72);outline:none;
}
.campo input:focus-visible,.campo textarea:focus-visible,.campo select:focus-visible{
  outline:2px solid var(--bordo);outline-offset:1px;
}
.campo input::placeholder{color:rgba(21,27,41,.5)}

.sel{position:relative}
.sel svg{
  position:absolute;right:.9rem;top:50%;transform:translateY(-50%);
  pointer-events:none;color:var(--bordo);
}

.form__aviso{
  margin-top:.35rem;
  font-size:.86rem;line-height:1.55;color:var(--escuro-fraco);max-width:46ch;
}

.contato__fig{margin:0 0 2rem;position:relative}
.contato__fig img{
  width:100%;height:clamp(200px,52vw,300px);object-fit:cover;object-position:center 45%;
  filter:saturate(.6) contrast(1.05);
}
.contato__fig::after{
  content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(21,27,41,.14);
}

.dados{margin:0;display:grid;gap:0;border-top:1px solid rgba(21,27,41,.22)}
.dados > div{
  padding:1.05rem 0;
  border-bottom:1px solid rgba(21,27,41,.12);
  display:grid;gap:.45rem;
}
.dados dt{color:var(--bordo);font-size:.7rem;letter-spacing:.15em}
.dados dd{
  margin:0;font-family:var(--serif);font-size:1rem;line-height:1.58;color:var(--escuro-med);
}
.dados dd a{
  display:inline-flex;align-items:center;min-height:44px;
  border-bottom:1px solid var(--fio-latao);
  transition:color .3s var(--e), border-color .3s var(--e);
}
.dados dd a:hover{color:var(--bordo);border-color:var(--bordo)}

/* ═══════ RODAPÉ ══════════════════════════════════════════ */
.rod{background:var(--noite-3);color:var(--claro-fraco);padding-block:clamp(3rem,7vw,4.5rem) 2.5rem}
.rod__wrap{display:grid;gap:2rem}
.rod__marca{display:flex;align-items:center;gap:.85rem}
.rod__nome{
  font-family:var(--disp);font-size:1.25rem;line-height:1.2;color:var(--claro);
}
.rod__nome em{font-family:var(--serif);font-style:italic;color:var(--latao)}
.rod__nome .mono{font-size:.66rem;color:var(--claro-fraco);letter-spacing:.2em}

.rod__reg{display:grid;gap:.4rem;font-size:.86rem;line-height:1.6;color:var(--claro-med)}

.rod__nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
.rod__nav a{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--latao-claro);
  min-height:44px;display:inline-flex;align-items:center;
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--e);
}
.rod__nav a:hover{border-color:var(--fio-latao)}

.rod__conf{
  padding-top:1.4rem;border-top:1px solid rgba(176,141,87,.18);
  font-size:.72rem;letter-spacing:.045em;line-height:1.75;
  color:rgba(233,227,215,.6);
  text-transform:none;max-width:none;
}

/* ═══════ BARRA INFERIOR (MOBILE) ═════════════════════════ */
.barra{
  position:fixed;left:0;right:0;bottom:0;z-index:45;
  display:flex;gap:.6rem;align-items:stretch;
  padding:.6rem var(--pad) calc(.6rem + env(safe-area-inset-bottom,0px));
  background:var(--noite-3);
  border-top:1px solid var(--fio-latao);
  box-shadow:0 -14px 34px rgba(4,7,13,.55);
  transform:translateY(105%);
  transition:transform .45s var(--e);
}
.barra[hidden]{display:flex}
.barra.on{transform:none}
.barra__tel{
  flex:none;width:52px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--fio-latao);color:var(--latao-claro);
  transition:background .3s var(--e), color .3s var(--e);
}
.barra__tel:hover{background:var(--latao);color:var(--noite)}
.barra__cta{
  flex:1 1 auto;min-height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bordo);color:#F6EFE3;
  font-size:.95rem;font-weight:500;letter-spacing:.02em;
}
.barra__cta:hover{background:#65131E}

/* ═══════ ENTRADAS ════════════════════════════════════════ */
.js .rev{opacity:0;transform:translateY(20px)}
.js .rev.on{
  opacity:1;transform:none;
  transition:opacity .85s var(--e), transform .85s var(--e);
}

/* No celular os rótulos mono sobem de tamanho: caixa alta pequena
   com entreletra larga é bonita na tela grande e ilegível na mão. */
@media (max-width:767.98px){
  .mono, .rotulo, .nav__n, .nav__tel, .hero__link,
  .faixa figcaption.mono, .area__nota, .metodo__fig figcaption, .nota__n,
  .socio__reg, .socio__areas, .pubs__data, .pubs__meta, .campo label,
  .dados dt, .rod__nav a, .rod__conf, .skip, .form__aviso{
    font-size:.875rem;
  }
  .rotulo__n{font-size:.8125rem;min-width:2.5rem;height:1.9rem}
  .rod__nome .mono{font-size:.72rem;letter-spacing:.16em}
  .rod__conf{letter-spacing:.05em;line-height:1.7}
  .area__nota,.socio__areas,.pubs__meta,.socio__reg,.dados dt{letter-spacing:.08em}
  .faixa figcaption.mono,.metodo__fig figcaption{letter-spacing:.09em}
}

/* ═══════════════════════════════════════════════════════════
   768px — tablet
   ═══════════════════════════════════════════════════════════ */
@media (min-width:768px){
  body{font-size:1.0938rem;padding-bottom:0}
  .barra{display:none}

  .hero__meta{grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(176,141,87,.14)}
  .hero__meta > div{
    display:block;border-bottom:0;
    border-left:1px solid rgba(176,141,87,.16);
    padding:1.15rem 1.5rem 1.35rem;
  }
  .hero__meta > div:first-child{border-left:0;padding-left:0}
  .hero__meta dd{margin-top:.5rem}

  .atuacao__fig img{height:clamp(260px,30vw,360px)}

  .area__btn{grid-template-columns:4rem 1fr 2rem;gap:1.5rem;padding:1.8rem 0}
  .area__dentro{padding-left:5.5rem;margin-left:0;border-left:0}

  .form__l{grid-template-columns:1fr 1fr}
  .dados > div{grid-template-columns:6.5rem 1fr;gap:1rem;align-items:baseline}

  .socios__grade{grid-template-columns:1fr 1fr;gap:clamp(1.75rem,4vw,3rem)}
  .socio--baixa{margin-top:clamp(2rem,7vw,5.5rem)}

  .pubs__i{grid-template-columns:7.5rem minmax(0,1fr);gap:.9rem 1.5rem;align-items:baseline}
  .pubs__meta{grid-column:2}

  .contato__fig img{height:clamp(240px,30vw,320px)}

  .rod__wrap{grid-template-columns:1fr 1fr;gap:2.25rem 3rem;align-items:start}
  .rod__conf{grid-column:1/-1}

  .metodo__notas{grid-template-columns:repeat(3,1fr);gap:1.75rem}

  .faixa img{height:clamp(280px,34vw,470px)}
}

/* ═══════════════════════════════════════════════════════════
   980px — desktop
   ═══════════════════════════════════════════════════════════ */
@media (min-width:980px){
  html{scroll-padding-top:6.5rem}

  .cab__int{padding-block:1rem}

  /* hero em grade assimétrica */
  .hero{padding-block:clamp(4.5rem,7vw,7rem) clamp(4rem,6vw,6rem)}
  .hero__base{
    grid-template-columns:minmax(0,1fr) minmax(0,.8fr);
    gap:clamp(2.5rem,6vw,6rem);align-items:end;
    padding-top:clamp(2rem,4vw,3.25rem);
    border-top:1px solid rgba(176,141,87,.16);
  }
  .hero__acao{justify-content:flex-end;align-items:center}
  .hero__l2{padding-left:clamp(3rem,16vw,15rem)}

  /* método: revista jurídica */
  .metodo__wrap{
    grid-template-columns:minmax(0,.72fr) minmax(0,1.78fr) minmax(0,.55fr);
    grid-template-areas:
      "fig  cabeca cabeca"
      "fig  texto  notas";
    gap:clamp(1.75rem,3.2vw,2.75rem);
    align-items:start;
  }
  .metodo__cabeca{grid-area:cabeca}
  .metodo__fig{grid-area:fig;position:sticky;top:7rem}
  .metodo__fig img{height:clamp(420px,52vw,640px)}
  .metodo__texto{grid-area:texto;max-width:none;columns:2;column-gap:2.75rem;gap:0;display:block}
  .metodo__texto p{margin-bottom:1.25rem;break-inside:avoid}
  .metodo__notas{
    grid-area:notas;grid-template-columns:1fr;gap:1.6rem;
    border-top:0;padding-top:.4rem;
    border-left:1px solid var(--fio-latao);padding-left:1.6rem;
  }
  .nota{border-left:0;padding-left:0}

  .socios__grade{gap:clamp(3rem,6vw,5rem)}
  .socio{gap:2rem}

  .pubs__i{grid-template-columns:9rem minmax(0,1fr) minmax(0,13rem);gap:2.5rem;padding:2rem 0}
  .pubs__meta{grid-column:auto;text-align:right}
  .pubs__meta span{display:block;margin:0 0 .3rem}
  .pubs__meta span::after{content:""}
  .pubs__i:hover{background:rgba(176,141,87,.05)}
  .pubs__t{font-size:clamp(1.35rem,2vw,1.8rem);max-width:36ch}

  /* colunas de altura idêntica: a imagem acompanha o texto, sem vão */
  .atuacao__cab{grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,3.5rem);align-items:stretch}
  .atuacao__dica{text-align:right}
  .atuacao__fig{align-self:stretch;display:flex}
  .atuacao__fig img{height:100%;min-height:clamp(280px,26vw,360px)}

  .area__btn{grid-template-columns:6rem 1fr 2.5rem;padding:2.1rem 0}
  .area__num{font-size:1.6rem}
  .area__dentro{
    padding-left:7.5rem;padding-right:3rem;
    display:grid;grid-template-columns:1.1fr .9fr;gap:0 3rem;align-items:start;
  }
  .area__dentro p:first-child{grid-column:1;font-size:1.08rem}
  .lista{grid-column:2;grid-row:1/span 2;margin-top:.25rem}
  .area__nota{grid-column:1;margin-top:1.5rem;align-self:start}

  /* a coluna de dados ocupa a altura do formulário: a foto absorve a sobra */
  .contato__wrap{grid-template-columns:1.3fr .7fr;gap:clamp(3rem,6vw,6rem);align-items:stretch}
  .contato__lado{display:flex;flex-direction:column}
  .contato__fig{flex:1 1 auto;display:flex;margin-bottom:clamp(2rem,2.6vw,2.6rem)}
  .contato__fig img{height:100%;min-height:clamp(240px,22vw,320px)}
  .dados > div{padding:1.3rem 0}

  .rod__wrap{grid-template-columns:auto minmax(0,1fr) auto;gap:1.75rem 3.5rem;align-items:start}
  .rod__nav{flex-direction:column;gap:.15rem;align-items:flex-end}
  .rod__nav a{min-height:0;padding:.28rem 0}
  .btn--bloco{width:auto;min-width:17rem;justify-self:start}
  .form{justify-items:start}
  .form > *{width:100%}
  .form > .btn--bloco{width:auto}

  .faixa img{height:clamp(340px,30vw,520px)}
  .faixa--cidade::after{
    background:linear-gradient(90deg, rgba(14,19,32,.94) 0%, rgba(14,19,32,.46) 54%, rgba(14,19,32,.14) 100%);
  }
  .faixa__frase{max-width:20ch}
}

/* ═══════════════════════════════════════════════════════════
   1040px — o menu deixa de ser gaveta e vira barra
   ═══════════════════════════════════════════════════════════ */
@media (min-width:1040px){
  .hamb{display:none}
  .cab__cta{display:inline-flex;flex:none;padding:.8rem 1.25rem;font-size:.9rem}
  .cab__int{gap:1.75rem}
  .marca{flex:none}

  .nav{
    position:static;flex:1 1 auto;
    padding:0;background:none;overflow:visible;
    opacity:1;visibility:visible;transform:none;
    flex-direction:row;justify-content:flex-end;align-items:center;
    transition:none;
  }
  .nav__lista{flex-direction:row;gap:clamp(1rem,2vw,2.1rem);align-items:center}
  .nav__lista a{
    display:inline-flex;align-items:center;gap:.45rem;
    padding:.45rem 0;border-bottom:1px solid transparent;
    font-family:var(--sans);font-size:.88rem;line-height:1.4;
    white-space:nowrap;color:var(--claro-med);
  }
  .nav__lista a:hover{color:var(--claro);padding-left:0;border-bottom-color:var(--fio-latao)}
  .nav__lista a[aria-current="true"]{color:var(--latao-claro);border-bottom-color:var(--latao)}
  .nav__n{display:none}
  .nav__rodape{display:none}
}

@media (min-width:1200px){
  .cab__int{gap:2rem}
  .cab__cta{padding:.85rem 1.6rem;font-size:.94rem}
  .nav__n{display:inline;font-size:.6rem;color:var(--latao)}
}

/* ═══════════════════════════════════════════════════════════
   1280px+ — respiro largo
   ═══════════════════════════════════════════════════════════ */
@media (min-width:1280px){
  .hero__t{margin-top:clamp(2.5rem,4vw,4rem)}
  .atuacao__cab{grid-template-columns:1.2fr .8fr}
  .atuacao__fig img{height:100%;min-height:300px}
  .socio__corpo{padding-right:2rem}
  .metodo__texto{column-gap:3.5rem}
}

@media (min-width:1600px){
  :root{--max:1440px}
  .faixa img{height:560px}
}

/* ═══════════════════════════════════════════════════════════
   Preferências do usuário
   ═══════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
  .js .rev{opacity:1;transform:none}
  .metodo__fig{position:static}
}

@media print{
  .cab,.barra,.faixa,.hero::before{display:none}
  body{background:#fff;color:#000}
}
