/* =========================================================
   AVANZO ADVOGADOS
   Preto absoluto · dourado · tipografia editorial
   ========================================================= */

:root{
  /* escala — base 8 */
  --s1:8px;  --s2:16px; --s3:24px; --s4:32px;  --s5:40px;
  --s6:48px; --s8:64px; --s10:80px; --s12:96px; --s14:112px;
  --s16:128px; --s20:160px; --s24:192px;

  /* preto dominante — sem azul, sem grafite */
  --black:      #000000;
  --black-2:    #050505;
  --black-3:    #0a0908;

  /* dourado — chapado, sem gradiente */
  --gold:       #c6a15b;
  --gold-lo:    #8a6f38;
  --gold-hi:    #e6d3a8;

  /* neutros quentes */
  --white:      #f7f4ef;
  --muted:      #918b82;
  --muted-2:    #5f5b55;

  --line:       rgba(198,161,91,.30);
  --line-2:     rgba(198,161,91,.16);
  --line-gold:  rgba(198,161,91,.34);

  --ease:       cubic-bezier(.19,1,.22,1);
  --ease-2:     cubic-bezier(.4,0,.2,1);

  --container:  1280px;
  --gutter:     40px;

  --serif: 'Fraunces', 'Playfair Display', Georgia, serif;
  --sans:  'Plus Jakarta Sans', 'Segoe UI', Helvetica, sans-serif;
}

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

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--black);
  color:var(--white);
  font-family:var(--sans);
  font-size:16.5px;
  font-weight:300;
  line-height:1.75;
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.is-locked{ overflow:hidden; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; color:inherit; }
::selection{ background:var(--gold); color:#000; }

::-webkit-scrollbar{ width:9px; }
::-webkit-scrollbar-track{ background:#000; }
::-webkit-scrollbar-thumb{ background:#2a2419; }
::-webkit-scrollbar-thumb:hover{ background:var(--gold-lo); }

/* ---------------- tipografia ---------------- */

h1,h2,h3,h4{
  font-family:var(--serif); font-weight:300; margin:0;
  font-variation-settings:'SOFT' 0,'WONK' 0;
  letter-spacing:-.018em; line-height:1.04; color:var(--white);
}
h1{ font-size:clamp(44px,6.6vw,96px); }
h2{ font-size:clamp(30px,3.8vw,54px); line-height:1.08; }
h3{ font-size:clamp(20px,2vw,26px); line-height:1.2; letter-spacing:-.01em; }
h4{ font-size:18px; line-height:1.3; letter-spacing:0; }

em, .it{ font-style:italic; font-variation-settings:'SOFT' 40; color:var(--gold-hi); }
.gold{ color:var(--gold); }

p{ margin:0 0 var(--s2); max-width:62ch; color:var(--muted); }
p:last-child{ margin-bottom:0; }
.lead{ font-size:clamp(16.5px,1.35vw,19px); line-height:1.72; color:#a9a39a; }
.small{ font-size:14px; line-height:1.65; }

.label{
  display:block; font-size:10.5px; font-weight:500;
  letter-spacing:.34em; text-transform:uppercase; color:var(--gold);
}
.label--muted{ color:var(--muted-2); }

.num{
  font-family:var(--serif); font-size:12px; letter-spacing:.12em;
  color:var(--gold-lo); font-variant-numeric:tabular-nums;
}

/* ---------------- layout ---------------- */

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.section{ position:relative; padding-block:var(--s14); }
.section--sm{ padding-block:var(--s12); }
.section--flush-b{ padding-bottom:0; }
.rule{ height:1px; background:var(--line-2); border:0; margin:0; }

/* Dama da Justiça na borda esquerda da seção de áreas (apenas desktop) */
.section--deusa{ overflow:hidden; }
.section--deusa .index-list{ position:relative; }
.section--deusa .index-list::before{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  top:45px; left:50%; margin-left:-50vw;               /* a cabeça nasce na linha do primeiro título */
  width:min(26vw,375px); height:660px;
  background:url("../img/estatua-justica.jpg") left top / contain no-repeat;
  opacity:.31;
  -webkit-mask-image:
    linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 45%,transparent 100%),
    linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);
  mask-image:
    linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 45%,transparent 100%),
    linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
/* mancha escura difusa que separa os números da estátua */
.section--deusa::after{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  left:0; top:0; bottom:0; width:min(34vw,470px);
  background:radial-gradient(210px 100% at 150px 50%, rgba(0,0,0,.92) 0%, rgba(0,0,0,.75) 40%, rgba(0,0,0,.35) 72%, transparent 100%);
}
@media (max-width:980px){
  .section--deusa::after{ display:none; }
  .section--deusa .index-list::before{ display:none; }
  /* no celular a estátua sobe para a altura do rótulo da seção */
  .section--deusa .shead{ position:relative; }
  .section--deusa .shead::before{
    content:""; position:absolute; z-index:-1; pointer-events:none;
    top:-38px; left:calc(50% - 50vw);
    width:204px; height:359px;
    background:url("../img/estatua-justica.jpg") left top / contain no-repeat;
    opacity:.19;
    -webkit-mask-image:
      linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 45%,transparent 100%),
      linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);
    mask-image:
      linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 45%,transparent 100%),
      linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-composite:intersect;
  }
}

/* grid editorial de 12 colunas */
.g12{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--gutter); }
.c1-4{ grid-column:1/5; }  .c1-5{ grid-column:1/6; }  .c1-6{ grid-column:1/7; }
.c1-7{ grid-column:1/8; }  .c1-8{ grid-column:1/9; }
.c5-13{ grid-column:5/13; } .c6-13{ grid-column:6/13; } .c7-13{ grid-column:7/13; }
.c8-13{ grid-column:8/13; }
.c2-8{ grid-column:2/9; }

/* cabeçalho de seção — alinhado à esquerda, com índice */
.shead{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--gutter); align-items:start; margin-bottom:var(--s12); }
.shead__idx{ grid-column:1/3; padding-top:14px; }
.shead__idx .label{ margin-bottom:0; }
.shead__t{ grid-column:3/9; }
.shead__t h2{ margin-bottom:var(--s2); }
.shead__aside{ grid-column:9/13; padding-top:14px; }

/* ---------------- links e botões ---------------- */

.ulink{
  position:relative; display:inline-block; padding-bottom:6px;
  font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--white);
}
.ulink::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:var(--gold); transform-origin:right; transform:scaleX(1);
  transition:transform .6s var(--ease);
}
.ulink:hover::after{ transform-origin:left; animation:ruleSwipe .7s var(--ease); }
@keyframes ruleSwipe{ 0%{transform:scaleX(1);transform-origin:right} 49%{transform:scaleX(0);transform-origin:right} 50%{transform:scaleX(0);transform-origin:left} 100%{transform:scaleX(1);transform-origin:left} }
.ulink--muted{ color:var(--muted); }
.ulink--muted::after{ background:var(--line); }
.ulink--muted:hover{ color:var(--white); }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:14px;
  height:56px; padding:0 34px; border:1px solid var(--gold);
  font-size:12.5px; font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  background:transparent; color:var(--gold-hi); cursor:pointer;
  transition:background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);
}
.btn svg{ width:22.5px; height:22.5px; flex:none; align-self:center; margin-left:-4.5px; }
.btn:hover{ background:var(--gold); color:#000; border-color:var(--gold); }

.btn--solid{ background:var(--gold); color:#000; }
.btn--solid:hover{ background:transparent; color:var(--gold-hi); }

.btn--line{ border-color:var(--line); color:var(--white); }
.btn--line:hover{ background:transparent; border-color:var(--gold); color:var(--gold-hi); }

.btn--wide{ width:100%; }

/* botao compacto, usado nos cards da equipe e nos blocos do responsavel */
.btn--mini{
  height:46px; padding:0 20px; gap:10px;
  font-size:11px; letter-spacing:.14em;
}
.btn--mini svg{ width:18px; height:18px; margin-left:0; }


.acoes{ display:flex; gap:var(--s3); flex-wrap:wrap; align-items:center; justify-content:flex-end; }
.acoes--topo{ margin-top:var(--s6); }
.acoes .ulink{ align-self:center; }
.acoes--esq{ justify-content:flex-start; }

/* ---------------- preloader ---------------- */

#preloader{
  position:fixed; inset:0; z-index:2000; background:#000;
  display:grid; place-items:center;
  transition:opacity .9s var(--ease), visibility .9s;
}
#preloader.hidden{ opacity:0; visibility:hidden; }
#preloader img{ width:74px; opacity:0; animation:preIn 1.6s var(--ease) forwards; }
#preloader .pre-bar{ width:1px; height:56px; background:var(--line); margin:var(--s3) auto 0; overflow:hidden; }
#preloader .pre-bar span{ display:block; width:100%; height:100%; background:var(--gold); transform-origin:top; animation:preBar 1.4s var(--ease-2) infinite; }
@keyframes preIn{ from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }
@keyframes preBar{ 0%{transform:scaleY(0)} 50%{transform:scaleY(1)} 100%{transform:scaleY(0); transform-origin:bottom} }

.progress-bar{
  position:fixed; top:0; left:0; height:1px; z-index:950; width:0%;
  background:var(--gold); transition:width .12s linear;
}

/* ---------------- header ---------------- */

.site-header{
  position:fixed; inset:0 0 auto 0; z-index:900;
  padding-block:var(--s3);
  border-bottom:1px solid transparent;
  transition:padding .5s var(--ease), background .5s var(--ease), border-color .5s var(--ease);
}
.site-header.is-stuck{
  padding-block:14px; background:rgba(0,0,0,.9);
  backdrop-filter:blur(14px); border-bottom-color:var(--line-2);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:var(--s6); }

.brand{ flex:none; }
.brand img{ height:58px; width:auto; transition:height .5s var(--ease); }
.site-header.is-stuck .brand img{ height:42px; }

.nav{ display:flex; align-items:center; gap:var(--s5); }
.nav a{ white-space:nowrap; }   /* itens do menu em uma linha, como antes do ícone */
.nav a{
  position:relative; font-size:12px; font-weight:400; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); padding-block:8px; transition:color .4s var(--ease);
}
.nav a::after{
  content:""; position:absolute; left:0; bottom:2px; height:1px; width:100%;
  background:var(--gold); transform:scaleX(0); transform-origin:right;
  transition:transform .5s var(--ease);
}
.nav a:hover{ color:var(--white); }
.nav a:hover::after{ transform:scaleX(1); transform-origin:left; }
.nav a.is-active{ color:var(--gold-hi); }
.nav a.is-active::after{ transform:scaleX(1); }

.header-right{ display:flex; align-items:center; gap:var(--s4); }
.header-right .ulink{ white-space:nowrap; }   /* o CTA continua em uma linha só, como antes do ícone */
.ig-link{
  display:grid; place-items:center; width:22px; height:22px;
  color:var(--muted); transition:color .4s var(--ease);
}
.ig-link svg{ width:20px; height:20px; display:block; }
.ig-link:hover{ color:var(--gold); }

.burger{
  display:none; width:40px; height:40px; border:0; background:none; cursor:pointer;
  position:relative; padding:0;
}
.burger span{ position:absolute; right:0; height:1px; background:var(--white); transition:all .4s var(--ease); }
.burger span:nth-child(1){ top:14px; width:28px; }
.burger span:nth-child(2){ top:21px; width:18px; }
.burger span:nth-child(3){ top:28px; width:28px; }
.burger:hover span:nth-child(2){ width:28px; }
.burger.is-open span:nth-child(1){ top:21px; transform:rotate(45deg); width:26px; }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ top:21px; transform:rotate(-45deg); width:26px; }

.mobile-menu{
  position:fixed; inset:0; z-index:890; background:#000;
  display:flex; flex-direction:column; justify-content:safe center;
  padding:var(--s20) var(--gutter) var(--s10);
  clip-path:inset(0 0 100% 0); transition:clip-path .8s var(--ease);
  overflow-y:auto;
}
.mobile-menu.is-open{ clip-path:inset(0 0 0 0); }
.mobile-menu a{
  font-family:var(--serif); font-weight:300; font-size:clamp(30px,8vw,44px);
  padding-block:var(--s2); border-bottom:1px solid var(--line-2);
  opacity:0; transform:translateY(20px); color:var(--white);
}
.mobile-menu.is-open a{ animation:mmIn .8s var(--ease) forwards; }
@keyframes mmIn{ to{ opacity:1; transform:none } }
.mobile-menu .mm-foot{ margin-top:var(--s8); opacity:0; animation:mmIn .8s var(--ease) .6s forwards; }
.mobile-menu .mm-foot .label{ margin-bottom:10px; }
.mobile-menu .mm-foot a{ font-family:var(--sans); font-size:15px; border:0; padding:0; display:block; color:var(--muted); animation:none; opacity:1; transform:none; }

/* ---------------- hero ---------------- */

.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end;
  padding-block:var(--s16) var(--s5); overflow:hidden; isolation:isolate;
}
.hero__bg{ position:absolute; inset:0; z-index:-2; }
.hero__bg picture{ display:block; width:100%; height:100%; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; opacity:.5; }
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, #000 0%, rgba(0,0,0,.86) 42%, rgba(0,0,0,.35) 78%, rgba(0,0,0,.7) 100%),
    linear-gradient(0deg, #000 2%, rgba(0,0,0,.2) 46%, rgba(0,0,0,.72) 100%);
}
.hero__mark{
  flex:0 0 100%; width:100%; height:280px; box-sizing:border-box;
  padding-left:55px;                 /* alinha a caixa da logo com o grupo de botões */
  object-fit:contain; object-position:center;
  opacity:1; margin-top:-328px; margin-bottom:var(--s6); pointer-events:none;
  filter:drop-shadow(0 14px 40px rgba(0,0,0,.6)) drop-shadow(0 0 34px rgba(207,169,77,.18));
}
.hero__vlabel{
  position:absolute; left:var(--gutter); top:50%; z-index:2;
  transform:rotate(-90deg) translateX(-50%); transform-origin:left center;
  white-space:nowrap;
}
.hero__vlabel .label{ display:flex; align-items:center; gap:14px; }
.hero__vlabel .label::after{ content:""; width:52px; height:1px; background:var(--line-gold); }

.hero__main{ position:relative; z-index:2; }
.hero h1{ max-width:15ch; margin-bottom:var(--s6); }
.hero h1 .word{ display:inline-block; }
.js .hero h1 .word{ opacity:0; }
.hero__row{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--gutter); align-items:start; }
.hero__row .lead{ grid-column:1/6; align-self:start; }
.hero__row .hero__act{ grid-column:7/13; display:flex; gap:var(--s3); row-gap:0; align-items:center; justify-content:flex-end; flex-wrap:wrap; }

.hero__facts{
  position:relative; z-index:2; margin-top:var(--s8);
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gutter);
  border-top:1px solid var(--line-2); padding-top:var(--s4);
}
.fact{ display:flex; flex-direction:column; gap:8px; }
.fact strong{ font-family:var(--serif); font-weight:300; font-size:clamp(32px,3vw,44px); line-height:1; color:var(--white); }
.fact > span{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted-2); }

/* ---------------- lista índice (áreas) ---------------- */

.index-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-2); }
.index-row{ border-bottom:1px solid var(--line-2); }
.index-row a{
  position:relative; display:grid; grid-template-columns:64px 4.2fr 5fr 40px;
  gap:var(--s4); align-items:center; padding-block:var(--s5);
  transition:padding-left .7s var(--ease);
}
.index-row a::before{
  content:""; position:absolute; left:0; right:0; top:0; bottom:0; z-index:-1;
  background:linear-gradient(90deg, rgba(198,161,91,.07), transparent 60%);
  opacity:0; transition:opacity .6s var(--ease);
}
.index-row a:hover{ padding-left:var(--s3); }
.index-row a:hover::before{ opacity:1; }

.index-num{ font-family:var(--serif); font-size:13px; color:var(--gold); letter-spacing:.1em; transition:color .5s var(--ease); }
.index-row a:hover .index-num{ color:var(--gold); }

.index-name{ font-family:var(--serif); font-weight:300; font-size:clamp(24px,2.6vw,34px); line-height:1.1; letter-spacing:-.015em; transition:color .5s var(--ease); }
.index-row a:hover .index-name{ color:var(--gold-hi); }

.index-desc{ font-size:14.5px; line-height:1.6; color:var(--muted); max-width:44ch; transition:opacity .45s var(--ease); }
.index-row a:hover .index-desc{ opacity:0; }

.index-go{ justify-self:end; width:34px; height:34px; display:grid; place-items:center; color:var(--muted-2); transition:color .5s var(--ease), transform .6s var(--ease); }
.index-go svg{ width:16px; height:16px; }
.index-row a:hover .index-go{ color:var(--gold); transform:translate(4px,-4px); }

.index-thumb{
  position:absolute; right:88px; top:50%; translate:0 -50%;
  width:186px; height:124px; overflow:hidden; pointer-events:none;
  clip-path:inset(0 0 100% 0); transition:clip-path .8s var(--ease);
  z-index:2;
}
.index-thumb img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.02) contrast(1.02) brightness(.92); }
.index-row a:hover .index-thumb{ clip-path:inset(0 0 0 0); }

/* ---------------- blocos editoriais ---------------- */

.figure{ position:relative; overflow:hidden; border-radius:14px; }
.figure img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.04) contrast(1.02); transition:filter 1.2s var(--ease), transform 1.4s var(--ease); }
.figure:hover img{ filter:saturate(1.1) contrast(1.03); transform:scale(1.02); }
.figure--tall{ aspect-ratio:3/4; }
.figure--wide{ aspect-ratio:4/3; }
.figure__cap{
  position:absolute; left:0; bottom:0; padding:var(--s3);
  background:linear-gradient(0deg, rgba(0,0,0,.85), transparent);
  width:100%;
}
.figure__cap .label{ color:var(--gold); }

/* moldura fina deslocada */
.frame{ position:relative; }
.frame--alinha{ align-self:start; margin-top:43px; }
.frame > *{ position:relative; z-index:1; }
.frame::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  top:28px; left:28px; right:-28px; bottom:-28px;
  border:1px solid var(--gold); border-radius:14px; opacity:.9;
}

/* lista de itens com hairline */
.hlist{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-2); }
.hlist li{
  display:grid; grid-template-columns:44px 1fr; gap:var(--s2); align-items:baseline;
  padding-block:var(--s2); border-bottom:1px solid var(--line-2);
  font-size:15.5px; color:#b6b0a7; transition:color .4s var(--ease);
}
.hlist li:hover{ color:var(--white); }
.hlist li span:first-child{ font-family:var(--serif); font-size:11.5px; color:var(--gold); letter-spacing:.1em; }
.hlist--2{ columns:2; column-gap:var(--gutter); border-top:0; }
.hlist--2 li{ break-inside:avoid; }

/* colunas de texto com filete lateral */
.cols{ display:grid; grid-template-columns:repeat(3,1fr); }
.cols > *{ padding:0 var(--s4); border-left:1px solid var(--line-2); }
.cols > *:first-child{ padding-left:0; border-left:0; }
.cols h4{ margin-bottom:10px; font-family:var(--sans); font-size:15px; font-weight:500; letter-spacing:.02em; color:var(--white); }
.cols p{ font-size:14.5px; }

/* passos numerados */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-2); }
.step{ padding:var(--s5) var(--s3) 0 var(--s3); border-left:1px solid var(--line-2); position:relative; }
.step:first-child{ padding-left:0; border-left:0; }
.step__n{ font-family:var(--serif); font-size:12px; color:var(--gold); letter-spacing:.14em; display:block; margin-bottom:var(--s3); }
.step h4{ font-family:var(--serif); font-weight:300; font-size:21px; margin-bottom:10px; }
.step p{ font-size:14.5px; }

/* citação / manifesto */
.quote{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(24px,3vw,42px); line-height:1.24; color:var(--white); letter-spacing:-.015em; max-width:20ch; }

/* ---------------- profissionais ---------------- */

.people{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s10) var(--s8); }
.person__img{ position:relative; aspect-ratio:3/4; overflow:hidden; margin-bottom:var(--s3); background:var(--black-3); }
.person__img img{ width:100%; height:100%; object-fit:cover; object-position:center 20%; filter:saturate(1.04) contrast(1.02); transition:filter 1.1s var(--ease), transform 1.4s var(--ease); }
.person:hover .person__img img{ filter:saturate(1.12); transform:scale(1.03); }
.person__img--mark{ display:grid; place-items:center; border:1px solid var(--line-2); }
.person__img--mark img{ width:52%; height:auto; object-fit:contain; filter:none; opacity:.5; }
.person:hover .person__img--mark img{ opacity:.75; transform:none; }
.person h3{ font-size:22px; margin-bottom:6px; }
.person .label{ margin-bottom:var(--s2); font-size:10px; letter-spacing:.24em; }
.person p{ font-size:14.5px; margin-bottom:var(--s2); }
/* o bloco de acoes fica ancorado na base do card, entao os botoes de toda
   a linha se alinham qualquer que seja o tamanho do texto acima         */
.person{ display:flex; flex-direction:column; }
.person__acoes{ display:flex; flex-direction:column; gap:10px; margin-top:auto; padding-top:var(--s3); }
.person__acoes .btn{ width:100%; }
/* advogado ainda sem agenda: reserva a altura do botao que vai existir */
.btn-reserva{ display:block; height:46px; }
@media (max-width:768px){ .btn-reserva{ display:none; } }


/* ---------------- acordeão ---------------- */

.accordion{ border-top:1px solid var(--line-2); }
.acc-item{ border-bottom:1px solid var(--line-2); }
.acc-trigger{
  width:100%; display:grid; grid-template-columns:1fr 24px; gap:var(--s3); align-items:center;
  background:none; border:0; text-align:left; cursor:pointer; padding:var(--s3) 0;
  font-family:var(--serif); font-weight:300; font-size:clamp(18px,1.7vw,23px); line-height:1.3;
  color:var(--white); transition:color .4s var(--ease);
}
.acc-trigger:hover{ color:var(--gold-hi); }
.acc-trigger i{ position:relative; width:14px; height:14px; justify-self:end; }
.acc-trigger i::before, .acc-trigger i::after{
  content:""; position:absolute; background:var(--gold); transition:transform .5s var(--ease), opacity .3s;
}
.acc-trigger i::before{ left:0; top:6.5px; width:14px; height:1px; }
.acc-trigger i::after{ left:6.5px; top:0; width:1px; height:14px; }
.acc-item.is-open .acc-trigger i::after{ transform:scaleY(0); }
.acc-panel{ max-height:0; overflow:hidden; transition:max-height .7s var(--ease); }
.acc-panel p{ font-size:15.5px; padding-bottom:var(--s4); max-width:78ch; }

/* ---------------- formulário ---------------- */

.form{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s5) var(--gutter); }
.field{ position:relative; display:flex; flex-direction:column; gap:10px; }
.field--full{ grid-column:1/-1; }
.field label{ font-size:10.5px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--muted-2); }
.field input, .field select, .field textarea{
  width:100%; background:transparent; border:0; border-bottom:1px solid var(--line);
  padding:10px 0; color:var(--white); font-family:inherit; font-size:16px; font-weight:300;
  transition:border-color .5s var(--ease);
}
.field textarea{ min-height:104px; resize:vertical; line-height:1.7; }
.field select{
  appearance:none; cursor:pointer; padding-right:28px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23c6a15b' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 2px center;
}
.field select option{ background:#0a0908; color:var(--white); }
.field input::placeholder, .field textarea::placeholder{ color:var(--muted-2); }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-bottom-color:var(--gold); }

/* ---------------- contato ---------------- */

.contact-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-2); }
.contact-list li{ border-bottom:1px solid var(--line-2); }
.contact-list a, .contact-list div{
  display:grid; grid-template-columns:120px 1fr; gap:var(--s3); align-items:baseline;
  padding-block:var(--s3); transition:color .4s var(--ease);
}
.contact-list a:hover{ color:var(--gold-hi); }
.contact-list .label{ padding-top:4px; }
.contact-list p{ margin:0; color:#b6b0a7; font-size:15.5px; }

.contact-list--faixa{ display:grid; grid-template-columns:repeat(4,1fr); gap:0 var(--s6); border-top:1px solid var(--line-2); }
.contact-list--faixa li{ border-bottom:0; }
.contact-list--faixa a, .contact-list--faixa div{ grid-template-columns:1fr; gap:10px; padding-block:var(--s4); align-items:start; }
.contact-list--faixa .label{ padding-top:0; }
@media (max-width:980px){ .contact-list--faixa{ grid-template-columns:repeat(2,1fr); gap:0 var(--s4); } }
@media (max-width:640px){ .contact-list--faixa{ grid-template-columns:1fr; } .contact-list--faixa li{ border-bottom:1px solid var(--line-2); } }


.channels{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-2); }
.channels li{ border-bottom:1px solid var(--line-2); }
.channels a{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:10px var(--s3);
  padding-block:var(--s3); transition:padding-left .6s var(--ease);
}
.channels a:hover{ padding-left:14px; }
.channels strong{ display:block; font-family:var(--serif); font-weight:300; font-size:20px; letter-spacing:-.01em; }
.channels small{ font-size:13px; color:var(--muted); }
.channels em{
  display:inline-flex; align-items:center; gap:9px;
  font-style:normal; font-size:13.5px; letter-spacing:.06em; color:var(--gold); white-space:nowrap;
  padding:9px 18px; border:1px solid var(--line-gold); border-radius:99px;
  transition:background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
}
.channels em svg{ width:17px; height:17px; flex:none; }
.channels a:hover em{ background:var(--gold); color:#000; border-color:var(--gold); }

/* canais por area. O bloco vive na coluna estreita da pagina de contato,
   com cerca de 477px: nome da area ocupa o espaco livre e as duas pilulas
   ficam em faixas de 140px, iguais em todas as linhas.                  */
.canais{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-2); }
.canais li{
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
  column-gap:20px; row-gap:12px; padding-block:31px;
  border-bottom:1px solid var(--line-2);
}


.canais__quem{ min-width:0; }
.canais__quem strong{ display:block; font-family:var(--serif); font-weight:300; font-size:17.5px; letter-spacing:-.01em; white-space:nowrap; }
/* nome do advogado numa linha so: mantem todas as linhas com a mesma altura */
.canais__quem small{ display:block; font-size:13px; color:var(--muted); white-space:nowrap; }

.canais__botoes{ display:grid; grid-template-columns:repeat(2, 136px); gap:10px; }
.canais__botoes .btn{
  border-radius:99px; height:44px; padding:0 16px; gap:9px;
  font-size:11.5px; letter-spacing:.08em; white-space:nowrap;
}
.canais__botoes .btn svg{ width:17px; height:17px; margin-left:0; }

/* sem largura para as duas colunas: nome em cima, pilulas embaixo */
@media (max-width:1200px){
  .canais li{ grid-template-columns:1fr; }
  .canais__botoes{ grid-template-columns:1fr 1fr; }
}

/* artigo em destaque na home */
/* titulo fixo da secao: filete dourado, tipografia serifada e um traco
   fino de cada lado — o mesmo vocabulario visual do resto do site     */
.destaque__topo{ text-align:center; margin-bottom:var(--s8); }
.destaque__topo h2{
  display:inline-flex; align-items:center; gap:var(--s4);
  font-size:clamp(30px,3.6vw,48px); line-height:1.08; letter-spacing:-.02em;
  /* o site usa 300 nos titulos; aqui o peso 500 encorpa sem sair da familia */
  font-weight:450; font-variation-settings:"SOFT" 0, "WONK" 0;
}
.destaque__topo h2 em{ font-weight:360; }
.destaque__topo h2::before,
.destaque__topo h2::after{
  content:""; display:block; width:clamp(28px,7vw,88px); height:1px;
  background:linear-gradient(90deg, transparent, var(--line-gold), transparent);
}
.destaque__topo h2 > span{ white-space:nowrap; }
.destaque__topo h2 em{ font-style:italic; }
@media (max-width:560px){
  .destaque__topo h2{ display:block; }
  .destaque__topo h2 > span{ white-space:normal; }
  .destaque__topo h2::before{ margin:0 auto var(--s3); width:56px;
    background:linear-gradient(90deg, transparent, var(--line-gold), transparent); }
  .destaque__topo h2::after{ display:none; }
}
.destaque .g12{ align-items:center; }
.destaque__img{ display:block; }
.destaque__img img{ transition:transform 1.2s var(--ease); }
.destaque__img:hover img{ transform:scale(1.04); }
.destaque__txt h3 a{ color:inherit; transition:color .4s var(--ease); }
.destaque__txt h3 a:hover{ color:var(--gold-hi); }
.destaque .btn svg{ width:15px; height:15px; }
@media (max-width:900px){
  .destaque__txt{ margin-top:var(--s5); }
}

/* Paginas de artigo: leitura longa, entao 15% a mais em todo o texto.
   Base do site: corpo 16.5px, lead 16.5-19px, lista 15.5px, FAQ 15.5px. */
.pg-artigo p{ font-size:18.98px; }
.pg-artigo .lead{ font-size:clamp(19px,1.55vw,21.85px); }
.pg-artigo .small{ font-size:16.1px; }
.pg-artigo .hlist li{ font-size:17.83px; }
.pg-artigo .hlist li span:first-child{ font-size:13.2px; }
.pg-artigo .acc-trigger{ font-size:1.15em; }
.pg-artigo .acc-panel p{ font-size:17.83px; }
.pg-artigo .index-desc{ font-size:1.15em; }

.map{ border-radius:14px; overflow:hidden; border:1px solid var(--line-2); }
.map iframe{ width:100%; height:460px; border:0; display:block; }

/* ---------------- faixa de chamada ---------------- */

.band{ position:relative; overflow:hidden; isolation:isolate; padding-block:var(--s14); }
.band__bg{ position:absolute; inset:0; z-index:-2; }
.band__bg img{ width:100%; height:100%; object-fit:cover; opacity:.34; filter:saturate(1.1) sepia(.12); }
.band__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,#000 8%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.85)); }
.band h2{ max-width:16ch; margin-bottom:var(--s4); }

/* ---------------- topo de página interna ---------------- */

.phero{
  position:relative; min-height:600px;
  display:flex; flex-direction:column; justify-content:flex-start;
  padding-block:var(--s20) var(--s6); overflow:hidden; isolation:isolate;
}
.phero__bg{ position:absolute; inset:0; z-index:-2; }
.phero__bg img{ width:100%; height:100%; object-fit:cover; opacity:.34; filter:saturate(1.06) sepia(.08); }
.phero__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,#000 10%,rgba(0,0,0,.7) 55%,rgba(0,0,0,.9)); }
.phero h1{ max-width:16ch; }
.crumbs{ display:flex; gap:12px; align-items:center; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted-2); margin-bottom:var(--s6); }
.crumbs a{ transition:color .4s var(--ease); }
.crumbs a:hover{ color:var(--gold); }
.crumbs i{ font-style:normal; color:var(--gold-lo); }

/* ---------------- rodapé ---------------- */

.site-footer{ border-top:1px solid var(--line-2); padding-block:var(--s14) var(--s5); background:#000; }
.footer-top{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--gutter); margin-bottom:var(--s14); }
.footer-brand{ grid-column:1/5; }
.footer-brand img{ height:82px; width:auto; margin-bottom:var(--s3); }
.footer-brand p{ font-size:14.5px; max-width:34ch; }
.footer-col{ grid-column:span 2; }
.footer-col:nth-of-type(2){ grid-column:5/7; }
.footer-col:nth-of-type(3){ grid-column:7/9; }
.footer-col:last-of-type{ grid-column:9/13; }
.site-footer h4{ font-family:var(--sans); font-size:10.5px; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:var(--s3); }
.site-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.site-footer li a, .site-footer li span{ font-size:14.5px; color:var(--muted); transition:color .4s var(--ease); }
.site-footer li a:hover{ color:var(--gold-hi); }
.social{ display:flex; gap:var(--s3); margin-top:var(--s4); }
.social a{ color:var(--muted); transition:color .4s var(--ease); }
.social a:hover{ color:var(--gold); }
.social svg{ width:17px; height:17px; }

.footer-bottom{
  border-top:1px solid var(--line-2); padding-top:var(--s3);
  display:flex; flex-wrap:wrap; gap:var(--s2) var(--s6); justify-content:space-between;
  font-size:12px; letter-spacing:.02em; color:var(--muted-2);
}
.footer-bottom a{ color:var(--muted); }
.footer-bottom a:hover{ color:var(--gold); }
.legal{ font-size:11.5px; line-height:1.7; color:var(--muted-2); max-width:none; margin-top:var(--s3); }

/* ---------------- flutuantes ---------------- */

.wa{ transition:opacity .35s var(--ease), visibility .35s, transform .35s var(--ease); position:fixed; right:var(--s4); bottom:var(--s4); z-index:800; display:flex; flex-direction:column; align-items:flex-end; gap:var(--s2); pointer-events:none; }
.wa-panel, .wa-btn{ pointer-events:auto; }
.wa-panel{
  width:296px; background:#000; border:1px solid var(--line);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .5s var(--ease), transform .5s var(--ease), visibility .5s;
}
.wa-panel.is-open{ opacity:1; visibility:visible; transform:none; }
.wa-panel .label{ padding:var(--s3) var(--s3) var(--s2); }
.wa-panel a{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--s2);
  padding:12px var(--s3); font-size:14.5px; color:#b6b0a7;
  border-top:1px solid var(--line-2); transition:background .4s var(--ease), color .4s var(--ease);
}
.wa-panel a:hover{ background:rgba(198,161,91,.08); color:var(--gold-hi); }
.wa-panel a small{ font-size:11px; letter-spacing:.06em; color:var(--muted-2); }
.wa-btn{
  width:54px; height:54px; border-radius:50%; border:1px solid #25d366; background:#25d366;
  color:#fff; display:grid; place-items:center; cursor:pointer;
  transition:background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);
}
.wa-btn:hover{ background:#1da851; border-color:#1da851; color:#fff; }
.wa-btn svg{ width:24px; height:24px; }

.wa.is-oculto{ opacity:0; visibility:hidden; transform:translateY(12px); pointer-events:none; }

.to-top{
  position:fixed; left:var(--s4); bottom:var(--s4); z-index:800;
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:#000; color:var(--muted);
  display:grid; place-items:center; cursor:pointer;
  opacity:0; visibility:hidden; transition:all .5s var(--ease);
}
.to-top.is-visible{ opacity:1; visibility:visible; }
.to-top:hover{ border-color:var(--gold); color:var(--gold); }
.to-top svg{ width:15px; height:15px; }

/* ---------------- reveal ---------------- */

[data-reveal]{ opacity:0; transform:translateY(16px); transition:opacity 1s var(--ease), transform 1s var(--ease); transition-delay:var(--d,0s); }
[data-reveal].is-in{ opacity:1; transform:none; }
[data-reveal="clip"]{ opacity:1; transform:none; clip-path:inset(0 0 100% 0); transition:clip-path 1.2s var(--ease); }
[data-reveal="clip"].is-in{ clip-path:inset(0 0 0 0); }
[data-reveal="rule"]{ opacity:1; transform:none; transform-origin:left; scale:0 1; transition:scale 1.1s var(--ease); }
[data-reveal="rule"].is-in{ scale:1 1; }

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  [data-reveal]{ opacity:1 !important; transform:none !important; clip-path:none !important; scale:1 !important; }
  html{ scroll-behavior:auto; }
}

/* ---------------- responsivo ---------------- */

@media (max-width:1340px){
  .header-inner{ gap:var(--s4); }
  .nav{ gap:var(--s3); }
}

@media (max-width:1180px){
  :root{ --gutter:32px; --s20:132px; --s24:150px; }
  .hero__vlabel{ display:none; }
  .index-thumb{ display:none; }
  .people{ grid-template-columns:repeat(2,1fr); gap:var(--s6) var(--gutter); }
  .shead__t{ grid-column:3/13; }
  .shead__aside{ grid-column:3/13; padding-top:var(--s3); }
}

@media (max-width:1200px){
  .header-right .ulink{ display:none; }   /* menu completo + CTA não cabem juntos abaixo daqui */
}

@media (max-width:980px){
  .nav{ display:none; }
  .header-right .ulink{ display:none; }
  .burger{ display:block; }
  .g12{ grid-template-columns:1fr; gap:var(--s6); }
  .g12 > [class*="c"]{ grid-column:1/-1; }
  .hero{ padding-block:var(--s16) var(--s5); }
  .hero__bg img{ object-position:82% center; }   /* traz a coluna para dentro do recorte */
  .hero__row .lead, .hero__row .hero__act{ grid-column:1/-1; justify-content:flex-start; }
  .hero__mark{ object-position:left center; padding-left:0; margin-top:0; height:220px; }
  .hero__row{ grid-template-columns:1fr; gap:var(--s5); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .step{ padding-bottom:var(--s5); }
  .step:nth-child(3){ padding-left:0; border-left:0; }
  .cols{ grid-template-columns:1fr; }
  .cols > *{ padding:var(--s3) 0; border-left:0; border-top:1px solid var(--line-2); }
  .cols > *:first-child{ border-top:0; padding-top:0; }
  .footer-top{ grid-template-columns:repeat(2,1fr); gap:var(--s6) var(--gutter); }
  .footer-brand, .footer-col, .footer-col:nth-of-type(2), .footer-col:nth-of-type(3), .footer-col:last-of-type{ grid-column:auto; }
  .footer-brand{ grid-column:1/13; }
  .footer-col, .footer-col:nth-of-type(2), .footer-col:nth-of-type(3), .footer-col:last-of-type{ grid-column:span 6; }
  .frame::after{ display:none; }
  .frame--alinha{ margin-top:0; }
  .acoes{ justify-content:flex-start; }
}

@media (max-width:720px){
  :root{ --gutter:22px; --s20:96px; --s24:120px; --s14:80px; --s12:64px; }
  body{ font-size:16px; }
  .brand img{ height:46px; }
  .site-header.is-stuck .brand img{ height:38px; }
  .hero{ min-height:92svh; padding-block:var(--s14) var(--s8); }
  .phero{ min-height:0; padding-block:var(--s16) var(--s5); }
  .phero + .section{ padding-top:var(--s8); }
  .hero h1{ max-width:100%; }
  .hero__facts{ grid-template-columns:1fr; gap:var(--s3); }
  .fact{ flex-direction:row; align-items:baseline; justify-content:space-between; gap:var(--s3); border-bottom:1px solid var(--line-2); padding-bottom:var(--s2); }
  .hero__act{ flex-direction:column; align-items:stretch; width:100%; gap:var(--s4); }
  .hero__row .hero__act{ row-gap:var(--s4); }
  .hero__act .btn{ width:100%; }
  .hero__act .ulink{ align-self:flex-start; }
  .acoes{ flex-direction:column; align-items:stretch; gap:var(--s4); }
  .acoes .btn{ width:100%; }
  .acoes .ulink{ align-self:flex-start; }
  .hero__mark{ display:none; }
  .shead{ grid-template-columns:1fr; gap:var(--s2); margin-bottom:var(--s8); }
  .shead__idx, .shead__t, .shead__aside{ grid-column:auto; padding-top:0; }
  .index-row a{ grid-template-columns:38px 1fr 28px; gap:var(--s2); padding-block:var(--s4); }
  .index-desc{ display:none; }
  .steps{ grid-template-columns:1fr; }
  .step{ padding:var(--s4) 0; border-left:0; border-bottom:1px solid var(--line-2); }
  .step:last-child{ border-bottom:0; }
  .people{ grid-template-columns:1fr; }
  .form{ grid-template-columns:1fr; gap:var(--s4); }
  .hlist--2{ columns:1; }
  .contact-list a, .contact-list div{ grid-template-columns:1fr; gap:6px; }
  .map iframe{ height:340px; }
  .wa{ right:var(--s2); bottom:var(--s2); }
  .to-top{ left:var(--s2); bottom:var(--s2); }
  .footer-top{ grid-template-columns:1fr; }
  .footer-brand, .footer-col, .footer-col:nth-of-type(2), .footer-col:nth-of-type(3), .footer-col:last-of-type{ grid-column:auto; }
}

/* =========================================================
   SEÇÕES CLARAS — alternância com as seções pretas
   Só troca de paleta: nenhuma medida, fonte ou posição muda.
   ========================================================= */

.section.is-light{
  /* a paleta inteira é redefinida no escopo da seção */
  --white:      #14110b;
  --muted:      #322d24;
  --muted-2:    #8d8574;
  --gold:       #8a6a15;
  --gold-hi:    #6f5510;
  --gold-lo:    #a98a2e;
  --black-3:    #e7e0d0;
  --line:       rgba(20,16,10,.22);
  --line-2:     rgba(20,16,10,.13);
  --line-gold:  rgba(138,106,21,.34);

  background:#f4efe4;
  color:#14110b;
}

.section.is-light .lead{ color:#2b261d; }
.section.is-light .hlist li{ color:#2b261d; }
.section.is-light .hlist li:hover{ color:#14110b; }
.section.is-light .contact-list p{ color:#2b261d; }
.section.is-light .index-row a::before{ background:linear-gradient(90deg, rgba(138,106,21,.10), transparent 60%); }

.section.is-light .btn--solid{ background:#c6a15b; color:#14110b; border-color:#c6a15b; }
.section.is-light .btn--solid:hover{ background:transparent; color:#6f5510; }
.section.is-light .btn:hover{ background:#c6a15b; color:#14110b; border-color:#c6a15b; }

.section.is-light .field input,
.section.is-light .field select,
.section.is-light .field textarea{ background:rgba(20,16,10,.03); color:#14110b; }
.section.is-light .field select option{ background:#fff; color:#14110b; }
.section.is-light .field input:focus,
.section.is-light .field select:focus,
.section.is-light .field textarea:focus{ background:rgba(198,161,91,.10); border-bottom-color:#8a6a15; }

.section.is-light .person__img--mark{ background:#eee7d8; }
.section.is-light .figure__cap{ background:linear-gradient(0deg, rgba(20,16,10,.72), transparent); }
.section.is-light .figure__cap .label{ color:#f0dca8; }


/* ---------------- galeria de miniaturas ---------------- */

.gal{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s3); }
.gal button{
  display:block; padding:0; border:0; background:none; cursor:pointer; width:100%;
  border-radius:14px; overflow:hidden; position:relative; aspect-ratio:4/3;
}
.gal button img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease), filter .5s var(--ease); }
.gal button::after{
  content:""; position:absolute; inset:0; border-radius:14px;
  border:1px solid var(--line-gold); opacity:0; transition:opacity .4s var(--ease);
}
.gal button:hover img{ transform:scale(1.06); }
.gal button:hover::after{ opacity:1; }
.gal button:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

.gal__zoom{
  position:absolute; right:10px; bottom:10px; width:32px; height:32px; border-radius:50%;
  background:rgba(0,0,0,.55); backdrop-filter:blur(4px); display:grid; place-items:center;
  color:var(--gold-hi); opacity:0; transform:translateY(6px); transition:all .4s var(--ease);
}
.gal button:hover .gal__zoom{ opacity:1; transform:none; }
.gal__zoom svg{ width:15px; height:15px; }

/* ampliação */
.lbox{
  position:fixed; inset:0; z-index:1500; display:grid; place-items:center;
  background:rgba(0,0,0,.92); padding:var(--s6);
  opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s;
}
.lbox.is-open{ opacity:1; visibility:visible; }
.lbox img{ max-width:min(1100px,92vw); max-height:86vh; border-radius:14px; box-shadow:0 40px 90px rgba(0,0,0,.7); }
.lbox__fechar, .lbox__nav{
  position:absolute; width:52px; height:52px; border-radius:50%; border:1px solid var(--line-gold);
  background:rgba(0,0,0,.5); color:var(--gold-hi); cursor:pointer; display:grid; place-items:center;
  transition:background .3s var(--ease), color .3s var(--ease);
}
.lbox__fechar:hover, .lbox__nav:hover{ background:var(--gold); color:#000; }
.lbox__fechar{ top:24px; right:24px; font-size:22px; line-height:1; }
.lbox__nav{ top:50%; translate:0 -50%; }
.lbox__nav--ant{ left:24px; }
.lbox__nav--prox{ right:24px; }
.lbox__nav svg{ width:18px; height:18px; }
.lbox__cont{ position:absolute; bottom:24px; left:50%; translate:-50% 0; font-size:12px; letter-spacing:.2em; color:var(--muted); }

@media (max-width:980px){ .gal{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:720px){
  .gal{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .lbox{ padding:var(--s3); }
  .lbox__nav{ width:44px; height:44px; }
  .lbox__nav--ant{ left:10px; } .lbox__nav--prox{ right:10px; }
}

/* ---------------- vídeo institucional ---------------- */

.vplayer{
  position:relative; overflow:hidden; border-radius:14px;
  border:1px solid var(--line-2); background:#000;
}
.vplayer video{
  display:block; width:100%; height:auto;
  aspect-ratio:9/16; object-fit:cover; background:#000;
}
.vplayer__btn{
  position:absolute; inset:0; display:grid; place-items:center;
  border:0; cursor:pointer; padding:0;
  background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,.12));
  transition:opacity .5s var(--ease);
}
.vplayer.is-playing .vplayer__btn{ opacity:0; pointer-events:none; }
.vplayer__btn i{
  width:76px; height:76px; border-radius:50%; display:grid; place-items:center;
  background:var(--gold); color:#000; transition:transform .4s var(--ease);
}
.vplayer__btn:hover i{ transform:scale(1.08); }
.vplayer__btn svg{ width:26px; height:26px; margin-left:4px; }
.vplayer__btn:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

@media (max-width:980px){
  .video-bloco{ max-width:420px; margin-inline:auto; }
}
