/* ==========================================================================
   Costa e Kunzler Advogados Associados — folha de estilo do site
   Marca: verde #01361B  |  cobre #B87332
   ========================================================================== */

:root{
  --verde:#01361B;
  --verde-esc:#012A15;
  --verde-cla:#0A4A29;
  --cobre:#B87332;
  --cobre-cla:#C98D50;
  --cobre-txt:#8A5320;          /* cobre com contraste AA sobre branco */
  --areia:#FAF7F2;
  --areia-esc:#F1EBE1;
  --branco:#FFFFFF;
  --texto:#1B231E;
  --texto-sv:#54605A;
  --linha:rgba(1,54,27,.14);
  --linha-cla:rgba(255,255,255,.18);
  --sombra:0 1px 2px rgba(1,54,27,.04),0 8px 28px rgba(1,54,27,.07);
  --sombra-alta:0 2px 4px rgba(1,54,27,.06),0 18px 44px rgba(1,54,27,.13);
  /* Duas famílias, só. Serifada nos títulos, Poppins no resto. */
  --serif:"Big Caslon CC","Big Caslon","Libre Caslon Display",Georgia,"Times New Roman",serif;
  --sans:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  /* Escala única de tamanhos — mexa aqui para mudar o site inteiro */
  --t-h1:clamp(2.1rem,4.4vw,3.3rem);
  --t-h2:clamp(1.8rem,3.2vw,2.6rem);
  --t-h3:1.5rem;
  --t-lead:1.15rem;      /* linha de destaque abaixo do título */
  --t-corpo:1.0625rem;   /* texto padrão (17px) */
  --t-apoio:1rem;        /* textos dentro de cartões e listas */
  --t-menor:.9rem;       /* metadados e rodapé */
  --t-micro:.78rem;      /* rótulos de formulário e avisos legais */
  --t-rotulo:1.35rem;    /* tarja da seção (SOBRE NÓS, EQUIPE...) */
  --t-botao:.95rem;
  --t-menu:1.02rem;
  /* cantos arredondados — mexa aqui para deixar mais ou menos redondo */
  --raio:14px;
  --raio-p:10px;
  --fade:clamp(64px,8.5vh,120px);   /* altura de cada metade do degradê */
  --container:1160px;
  --header-h:96px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-snap-type:y proximity}
body{
  margin:0;background:var(--branco);color:var(--texto);
  font-family:var(--sans);font-size:var(--t-corpo);line-height:1.7;
  font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font-family:inherit}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0;letter-spacing:0}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3)}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
:focus-visible{outline:2px solid var(--cobre);outline-offset:3px;border-radius:var(--raio)}

/* ---------- estrutura ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}

/* cada seção ocupa a tela inteira; se o conteúdo for maior, ela cresce (nunca corta) */
.secao{
  /* altura mínima baixa: quem manda é o conteúdo, com respiro controlado */
  min-height:64vh;min-height:64svh;
  display:flex;align-items:center;
  padding-top:calc(var(--header-h) + clamp(24px,3.4vh,44px));
  padding-bottom:clamp(28px,4vh,52px);
  scroll-snap-align:start;
}
.secao>.container{width:100%}
.secao--areia{background:var(--areia)}
.secao--verde{background:var(--verde);color:#EAF1EC}
.secao--verde h2,.secao--verde h3{color:#fff}
.pular{position:absolute;left:-9999px;top:0;background:var(--verde);color:#fff;padding:12px 20px;z-index:200}
.pular:focus{left:12px;top:12px}

/* rótulo de seção: sem risco, maior e em negrito */
.olho{
  display:inline-block;margin:0 0 16px;
  font-family:var(--sans);font-size:var(--t-rotulo);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cobre-txt);
}
.secao--verde .olho{color:var(--cobre-cla)}
.chamada{font-size:var(--t-lead);color:var(--texto-sv);max-width:62ch}
.secao--verde .chamada{color:rgba(234,241,236,.82)}

/* cabeçalho de seção: sempre centralizado, com largura de leitura confortável */
.cabecalho-secao{
  max-width:68ch;margin-inline:auto;margin-bottom:clamp(24px,3vw,40px);text-align:center;
}
.cabecalho-secao .chamada,.cabecalho-secao p{margin-inline:auto}
.cabecalho-secao .olho{justify-content:center}
@media (min-width:1200px){.container{padding-inline:36px}}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border:1px solid transparent;border-radius:var(--raio-p);
  font-family:var(--sans);font-size:var(--t-botao);font-weight:500;letter-spacing:.01em;
  text-decoration:none;cursor:pointer;transition:all .22s ease;white-space:nowrap;
}
.btn svg{width:18px;height:18px;flex:none}
.btn--primario{background:var(--verde);color:#fff}
.btn--primario:hover{background:var(--verde-cla);transform:translateY(-2px);box-shadow:var(--sombra)}
.btn--cobre{background:var(--cobre);color:#fff}
.btn--cobre:hover{background:#C4813C;transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.btn--linha{background:transparent;color:var(--verde);border-color:var(--linha)}
.btn--linha:hover{border-color:var(--verde);background:rgba(1,54,27,.04)}
.btn--linha-cla{background:transparent;color:#fff;border-color:var(--linha-cla)}
.btn--linha-cla:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.botoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* ---------- cabeçalho ---------- */
.topo{
  position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);
  display:flex;align-items:center;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
  border-bottom:1px solid transparent;
}
/* logo à esquerda, menu no centro exato, botão à direita */
.topo .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.topo .marca{justify-self:start}
.topo .menu{justify-self:center}
.topo__cta{justify-self:end}
.menu__cta{display:none}
.topo.is-fixo{background:rgba(1,48,24,.96);backdrop-filter:blur(10px);border-bottom-color:rgba(255,255,255,.14);box-shadow:0 2px 22px rgba(0,0,0,.22)}
.marca{display:block;position:relative;flex:none;line-height:0;transform:translateY(8px)}
.marca img{height:58px;width:auto;transition:opacity .3s ease}
.marca img+img{position:absolute;inset:0}
.marca .logo-escuro{opacity:0}

.menu{display:flex;align-items:center;gap:clamp(20px,2.2vw,34px)}
.menu a{
  font-size:var(--t-menu);font-weight:400;letter-spacing:.01em;color:#fff;
  text-decoration:none;padding:6px 0;position:relative;transition:color .2s ease;white-space:nowrap;
}
.menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--cobre);transition:width .25s ease}
.menu a:hover::after{width:100%}
.topo .btn{padding:12px 24px;font-size:var(--t-botao)}
.topo .btn svg{width:17px;height:17px}

.hamburguer{
  display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;
  align-items:center;justify-content:center;padding:0;position:relative;z-index:110;
}
.hamburguer span{display:block;width:24px;height:2px;background:#fff;position:relative;transition:background .2s ease}
.hamburguer span::before,.hamburguer span::after{
  content:"";position:absolute;left:0;width:24px;height:2px;background:inherit;
  transition:transform .28s ease,top .28s ease;
}
.hamburguer span::before{top:-8px}
.hamburguer span::after{top:8px}
body.menu-aberto .hamburguer span{background:transparent!important}
body.menu-aberto .hamburguer span::before{top:0;transform:rotate(45deg);background:#fff!important}
body.menu-aberto .hamburguer span::after{top:0;transform:rotate(-45deg);background:#fff!important}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:72vh;min-height:72svh;display:flex;align-items:center;
  scroll-snap-align:start;
  padding:calc(var(--header-h) + 40px) 0 clamp(104px,14vh,160px);
  color:#EAF1EC;overflow:hidden;
  background-image:
    linear-gradient(180deg,rgba(1,32,16,.72) 0%,rgba(1,42,21,.62) 45%,rgba(1,32,16,.86) 100%),
    url("fundo-inicio.jpg");
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.hero__brasao{
  position:absolute;right:-70px;bottom:-90px;
  width:min(42vw,470px);opacity:.07;pointer-events:none;user-select:none;
}
.hero__luz{
  position:absolute;left:-15%;top:-25%;width:70%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(184,115,50,.20),transparent 65%);pointer-events:none;
}
.hero .container{position:relative;z-index:3}
/* dissolve o fim da abertura na cor da seção seguinte */
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none;
  height:var(--fade);
  background:linear-gradient(to bottom,rgba(219,221,214,0) 0%,rgba(219,221,214,.5) 58%,rgb(219,221,214) 100%);
}
.hero__texto{max-width:min(100%,980px);margin-inline:auto;text-align:center}
.hero h1{
  color:#fff;margin-bottom:24px;text-wrap:balance;
  font-family:var(--sans);font-weight:700;
  font-size:clamp(1.85rem,3.5vw,2.95rem);line-height:1.28;letter-spacing:-.015em;
}
.hero h1 em{font-style:normal;color:var(--cobre-cla)}
.hero__sub{font-size:var(--t-lead);color:rgba(234,241,236,.85);max-width:52ch;margin-inline:auto}
.hero__sub strong{color:#fff;font-weight:600}
.hero .olho{justify-content:center}
.hero .botoes{justify-content:center}
.hero__rodape{
  margin-top:clamp(48px,6vw,76px);padding-top:26px;border-top:1px solid var(--linha-cla);
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;font-size:var(--t-menor);color:rgba(234,241,236,.72);
}
.hero__rodape span{display:inline-flex;align-items:center;gap:9px}
.hero__rodape span::before{content:"";width:5px;height:5px;background:var(--cobre);border-radius:50%;flex:none}

/* metade de baixo do degradê, já na seção clara */
#sobre{position:relative}
#sobre::before{
  content:"";position:absolute;top:0;left:0;right:0;height:var(--fade);
  background:linear-gradient(to bottom,rgb(219,221,214) 0%,rgb(238,238,232) 45%,var(--areia) 100%);
  pointer-events:none;z-index:1;
}
#sobre>.container{position:relative;z-index:2}

/* ---------- escritório ---------- */
.duas-colunas{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,88px);align-items:start}
.socios{display:grid;gap:18px;margin-top:12px}
.socio{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);
  padding:26px 28px;display:flex;gap:20px;align-items:center;transition:border-color .25s ease,transform .25s ease;
}
.socio:hover{border-color:var(--cobre);transform:translateX(4px)}
.socio__inicial{
  flex:none;width:56px;height:56px;border-radius:50%;background:var(--verde);color:var(--cobre-cla);
  display:grid;place-items:center;font-family:var(--serif);font-size:var(--t-h3);font-weight:400;
}
.socio__nome{font-family:var(--serif);font-size:var(--t-h3);font-weight:400;color:var(--verde);line-height:1.2}
.socio__oab{font-size:var(--t-menor);color:var(--texto-sv);letter-spacing:.04em;margin-top:4px}
.selos{display:grid;gap:14px;margin-top:34px;padding-top:30px;border-top:1px solid var(--linha)}
.selo{display:flex;gap:14px;align-items:flex-start;font-size:var(--t-apoio);color:var(--texto-sv)}
.selo svg{width:20px;height:20px;flex:none;color:var(--cobre-txt);margin-top:3px}

/* selos lado a lado e centralizados (seção Sobre nós) */
.selos--linha{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:32px;max-width:980px;margin:clamp(44px,5vw,60px) auto 0;padding-top:clamp(32px,4vw,42px);
}
.selos--linha .selo{flex-direction:column;align-items:center;text-align:center;gap:14px}
.selos--linha .selo svg{width:26px;height:26px;margin-top:0}

/* ---------- áreas ---------- */
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.area{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:38px 34px 34px;
  display:flex;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.area:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta);border-color:transparent}
.area__icone{width:46px;height:46px;color:var(--cobre);margin-bottom:24px}
.area__icone svg{width:100%;height:100%}
.area h3{color:var(--verde);margin-bottom:14px}
.area p{font-size:var(--t-apoio);color:var(--texto-sv);margin-bottom:22px}
.area ul{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:9px;border-top:1px solid var(--linha);padding-top:20px}
.area li{position:relative;padding-left:20px;font-size:var(--t-apoio);color:var(--texto-sv)}
.area li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--cobre)}

/* ---------- destaque descontos ---------- */
.destaque{position:relative;overflow:hidden}
.destaque__brasao{position:absolute;left:-120px;bottom:-80px;width:420px;opacity:.05;pointer-events:none}
.destaque .container{position:relative;z-index:2}
.sinais{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:44px}
.sinal{border:1px solid var(--linha-cla);border-radius:var(--raio);padding:28px 26px;background:rgba(255,255,255,.03);text-align:center}
.destaque .botoes{justify-content:center}
.destaque .aviso-caixa{max-width:900px;margin-inline:auto}
.sinal strong{display:block;font-family:var(--serif);font-size:var(--t-h3);color:#fff;margin-bottom:8px;font-weight:400}
.sinal p{font-size:var(--t-apoio);color:rgba(234,241,236,.78);margin:0}
.aviso-caixa{
  margin-top:44px;padding:30px 34px;border-left:3px solid var(--cobre);
  background:rgba(255,255,255,.05);border-radius:0 var(--raio) var(--raio) 0;
}
.aviso-caixa p{margin:0;color:rgba(234,241,236,.9);font-size:var(--t-apoio)}
.aviso-caixa strong{color:var(--cobre-cla)}

/* ---------- etapas ---------- */
.etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:34px;counter-reset:passo}
.etapa{position:relative;padding-top:30px;border-top:1px solid var(--linha)}
.etapa::before{
  counter-increment:passo;content:"0" counter(passo);
  position:absolute;top:-16px;left:0;background:var(--branco);padding-right:14px;
  font-family:var(--serif);font-size:1.7rem;font-weight:400;color:var(--cobre);line-height:1;
}
.etapa h3{font-size:var(--t-h3);color:var(--verde);margin-bottom:10px}
.etapa p{font-size:var(--t-apoio);color:var(--texto-sv);margin:0}

/* ---------- documentos ---------- */
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:16px}
.doc{
  display:flex;gap:14px;align-items:flex-start;background:var(--branco);
  border:1px solid var(--linha);border-radius:var(--raio);padding:22px 24px;font-size:var(--t-apoio);
}
.doc svg{width:20px;height:20px;color:var(--cobre-txt);flex:none;margin-top:3px}

/* ---------- perguntas ---------- */
.faq{max-width:860px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  list-style:none;cursor:pointer;padding:26px 48px 26px 0;position:relative;
  font-family:var(--serif);font-size:var(--t-h3);font-weight:400;color:var(--verde);
  transition:color .2s ease;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--cobre-txt)}
.faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-7px;
  background:
    linear-gradient(var(--cobre),var(--cobre)) center/14px 1.5px no-repeat,
    linear-gradient(var(--cobre),var(--cobre)) center/1.5px 14px no-repeat;
  transition:transform .28s ease;
}
.faq details[open] summary::after{transform:rotate(90deg);background:linear-gradient(var(--cobre),var(--cobre)) center/14px 1.5px no-repeat}
.faq__resposta{padding:0 32px 28px 0;color:var(--texto-sv);font-size:var(--t-apoio);max-width:72ch}

/* ---------- contato ---------- */
.contato-grade{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:start}
.dados{display:grid;gap:26px;margin-top:8px}
.dado{display:flex;gap:18px;align-items:flex-start}
.dado svg{width:22px;height:22px;color:var(--cobre-cla);flex:none;margin-top:4px}
.dado__rotulo{font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.16em;color:rgba(234,241,236,.55);margin-bottom:5px}
.dado__valor{font-size:var(--t-corpo);color:#fff;text-decoration:none;line-height:1.5}
a.dado__valor:hover{color:var(--cobre-cla);text-decoration:underline;text-underline-offset:4px}

.form{background:rgba(255,255,255,.05);border:1px solid var(--linha-cla);border-radius:var(--raio);padding:clamp(28px,4vw,40px)}
.form h3{font-size:var(--t-h3);margin-bottom:8px}
.form__intro{font-size:var(--t-apoio);color:rgba(234,241,236,.72);margin-bottom:26px}
.campo{margin-bottom:20px}
.campo label{display:block;font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:rgba(234,241,236,.72);margin-bottom:8px}
.campo input,.campo select,.campo textarea{
  width:100%;padding:14px 16px;background:rgba(255,255,255,.07);color:#fff;
  border:1px solid var(--linha-cla);border-radius:var(--raio-p);font-family:var(--sans);font-size:var(--t-apoio);
  transition:border-color .2s ease,background .2s ease;
}
.campo textarea{resize:vertical;min-height:110px}
.campo input::placeholder,.campo textarea::placeholder{color:rgba(234,241,236,.4)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--cobre);background:rgba(255,255,255,.1)}
.campo select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C98D50' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px;
}
.campo select option{background:var(--verde-esc);color:#fff}
.form .btn{width:100%;margin-top:6px}
.form__nota{font-size:var(--t-micro);color:rgba(234,241,236,.55);margin-top:16px;line-height:1.6}
.form__nota a{color:var(--cobre-cla)}

/* ---------- rodapé ---------- */
.rodape{background:var(--verde-esc);color:rgba(234,241,236,.68);padding:clamp(56px,6vw,76px) 0 32px;font-size:var(--t-menor)}
.rodape__topo{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid var(--linha-cla)}
.rodape img{height:52px;width:auto;margin-bottom:22px}
.rodape h4{font-family:var(--sans);font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--cobre-cla);margin-bottom:18px;font-weight:600}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.rodape a{color:inherit;text-decoration:none;transition:color .2s ease}
.rodape a:hover{color:#fff}
.rodape__legal{padding-top:28px;display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;align-items:center;font-size:var(--t-micro);color:rgba(234,241,236,.5)}
.rodape__aviso{max-width:78ch;font-size:var(--t-micro);line-height:1.7;color:rgba(234,241,236,.45);margin-top:22px}

/* ---------- botão flutuante whatsapp ---------- */
.zap{
  position:fixed;right:20px;bottom:20px;z-index:90;width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;text-decoration:none;
  transition:transform .25s ease,box-shadow .25s ease;
  animation:zap-anel 2.4s ease-out infinite,zap-chama 6s ease-in-out infinite;
}
.zap:hover{transform:scale(1.08);animation-play-state:paused;box-shadow:0 12px 32px rgba(0,0,0,.34)}
.zap svg{width:33px;height:33px}

/* halo pulsante + piscada leve, para chamar atenção */
@keyframes zap-anel{
  0%{box-shadow:0 8px 26px rgba(0,0,0,.26),0 0 0 0 rgba(37,211,102,.6)}
  70%{box-shadow:0 8px 26px rgba(0,0,0,.26),0 0 0 20px rgba(37,211,102,0)}
  100%{box-shadow:0 8px 26px rgba(0,0,0,.26),0 0 0 0 rgba(37,211,102,0)}
}
@keyframes zap-chama{
  0%,86%,100%{transform:scale(1)}
  90%{transform:scale(1.14)}
  94%{transform:scale(1.04)}
}

/* ---------- página interna (política) ---------- */
.pagina-texto{padding:calc(var(--header-h) + 72px) 0 clamp(64px,8vw,104px)}
.pagina-texto .container{max-width:860px}
.pagina-texto h1{font-size:var(--t-h1);color:var(--verde);margin-bottom:14px}
.pagina-texto h2{font-size:var(--t-h2);color:var(--verde);margin:44px 0 14px}
.pagina-texto ul{padding-left:22px;color:var(--texto-sv)}
.pagina-texto li{margin-bottom:9px}
.pagina-texto .data{font-size:var(--t-menor);color:var(--texto-sv);letter-spacing:.04em;margin-bottom:34px}
.pagina-texto p{color:var(--texto-sv)}

/* ---------- animação de entrada ---------- */
.revela{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.revela.visivel{opacity:1;transform:none}

/* ==========================================================================
   AJUSTE DE ALTURA — faz cada seção caber inteira na tela, em qualquer monitor.
   Os espaçamentos encolhem junto com a altura da janela (unidade vh).
   ========================================================================== */
@media (min-width:821px){
  /* respiro proporcional à altura da janela — tamanhos de texto vêm da escala */
  .secao{
    padding-top:calc(var(--header-h) + clamp(16px,2.4vh,44px));
    padding-bottom:clamp(20px,3vh,48px);
  }
  .cabecalho-secao{margin-bottom:clamp(20px,2.8vh,38px)}
  .cabecalho-secao p{margin-bottom:clamp(10px,1.5vh,18px)}
  .cabecalho-secao .chamada{margin-bottom:0}
  .olho{margin-bottom:clamp(9px,1.5vh,16px)}
  .btn{padding:clamp(11px,2vh,15px) 30px}

  /* sobre nós */
  .selos--linha{margin-top:clamp(20px,3vh,56px);padding-top:clamp(16px,2.6vh,42px);gap:clamp(18px,2.6vw,32px)}

  /* equipe */
  .equipe{gap:clamp(18px,2.6vw,32px)}
  .membro__inicial{font-size:clamp(2.6rem,9vh,5rem)}
  .membro__dados{padding:clamp(16px,2.4vh,26px) 28px clamp(18px,2.6vh,30px)}
  .membro__cargo{margin:clamp(6px,1vh,10px) 0 clamp(7px,1.2vh,12px)}
  .membro__oab{margin-top:clamp(9px,1.6vh,14px);padding-top:clamp(9px,1.6vh,14px)}

  /* áreas de atuação */
  .areas{gap:clamp(16px,1.8vw,24px)}
  .area{padding:clamp(20px,3vh,38px) clamp(22px,2vw,34px) clamp(20px,2.8vh,34px)}
  .area__icone{width:clamp(32px,4.6vh,46px);height:clamp(32px,4.6vh,46px);margin-bottom:clamp(12px,2.4vh,24px)}
  .area h3{margin-bottom:clamp(8px,1.4vh,14px)}
  .area p{margin-bottom:clamp(12px,2.2vh,22px)}
  .area ul{gap:clamp(5px,.9vh,9px);padding-top:clamp(12px,2vh,20px)}

  /* blog */
  .artigos{gap:clamp(16px,1.8vw,24px)}
  .artigo-card__tag{margin-bottom:clamp(8px,1.6vh,16px)}
  .artigo-card h3{margin-bottom:clamp(8px,1.4vh,14px)}
  .artigo-card p{margin-bottom:clamp(12px,2.2vh,24px)}
  .artigo-card__leia{padding-top:clamp(10px,1.8vh,18px)}
  .mais-artigos{margin-top:clamp(16px,2.4vh,44px)}

  /* contato */
  .contato-grade{gap:clamp(28px,3.6vw,72px)}
  .dados{gap:clamp(13px,2.2vh,26px)}
  .form{padding:clamp(16px,2.4vh,40px) clamp(20px,2.2vw,40px)}
  .campos-lado-a-lado{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .campo{margin-bottom:clamp(11px,1.8vh,20px)}
  .campo label{margin-bottom:clamp(4px,.8vh,8px)}
  .campo input,.campo select,.campo textarea{padding:clamp(9px,1.5vh,14px) 16px}
  .campo textarea{min-height:clamp(54px,7.5vh,110px)}
  .form__intro{margin-bottom:clamp(14px,2.4vh,26px)}
  .form__nota{margin-top:clamp(8px,1.3vh,16px)}
  .form .btn{margin-top:0}
}

/* telas de até 1000px de altura (notebooks): compressão extra para nada estourar */
@media (min-width:821px) and (max-height:1000px){
  /* mesma hierarquia, escala um degrau menor */
  :root{
    --t-h1:clamp(1.9rem,3.6vw,2.7rem);
    --t-h2:clamp(1.6rem,2.8vw,2.15rem);
    --t-h3:1.35rem;
    --t-lead:1.05rem;
    --t-corpo:1rem;
    --t-apoio:.95rem;
    --t-rotulo:1.2rem;
  }
  .cabecalho-secao{margin-bottom:clamp(16px,2.2vh,28px)}
  .cabecalho-secao p{margin-bottom:8px}
  .olho{margin-bottom:9px}
  .chamada{line-height:1.6}

  .artigo-card__capa{aspect-ratio:auto;height:clamp(140px,21vh,260px)}
  .artigo-card p{line-height:1.6;margin-bottom:10px}
  .artigo-card__leia{padding-top:12px}
  .mais-artigos{margin-top:8px}
  .area p{line-height:1.6}

  .membro__texto{line-height:1.55}

  .form{padding:clamp(14px,2vh,32px) clamp(18px,2vw,32px)}
  .form h3{margin-bottom:4px}
  .form__intro{line-height:1.5;margin-bottom:12px}
  .campo{margin-bottom:10px}
  .campo label{margin-bottom:4px;letter-spacing:.06em}
  .campo textarea{min-height:52px}
  .form .btn{padding-block:11px}
  .form__nota{margin-top:7px;line-height:1.55}
  .dados{gap:clamp(11px,1.9vh,20px)}
  .dado svg{width:19px;height:19px}
  .dado__rotulo{margin-bottom:2px}

  .secao{
    padding-top:calc(var(--header-h) + clamp(12px,1.8vh,52px));
    padding-bottom:clamp(13px,1.9vh,64px);
  }
}

@media (min-width:821px) and (max-height:830px){
  /* notebooks de 720 a 830px de altura: mais um degrau, mantendo a proporção */
  :root{
    --t-h1:clamp(1.7rem,3.2vw,2.3rem);
    --t-h2:clamp(1.45rem,2.5vw,1.9rem);
    --t-h3:1.25rem;
    --t-lead:1rem;
    --t-corpo:.95rem;
    --t-apoio:.9rem;
    --t-menor:.85rem;
    --t-rotulo:1.12rem;
  }
  .cabecalho-secao{margin-bottom:14px}
  .cabecalho-secao p{margin-bottom:6px}
  .olho{margin-bottom:7px}

  .area{padding:16px 22px 18px}
  .area__icone{width:30px;height:30px;margin-bottom:10px}
  .area p{margin-bottom:10px}
  .area ul{padding-top:10px;gap:4px}

  .artigo-card__capa{aspect-ratio:auto;height:clamp(118px,17vh,200px)}
  .artigo-card__tag{margin-bottom:8px}
  .artigo-card p{margin-bottom:6px}
  .artigo-card__leia{padding-top:9px}
  .mais-artigos{margin-top:4px}
  #blog .cabecalho-secao{margin-bottom:10px}

  .membro__dados{padding:12px 22px 14px}

  .form{padding:8px 14px}
  .form h3{font-size:1.05rem;margin-bottom:2px}
  .form__intro{margin-bottom:6px;line-height:1.45}
  .campo{margin-bottom:5px}
  .form .btn{padding-block:8px}
  .form__nota{font-size:.72rem;line-height:1.45}
  .campo textarea{min-height:40px}
  .campo input,.campo select,.campo textarea{padding:7px 13px}
  .form .btn{padding-block:9px}
  .form__nota{margin-top:5px}
  .dados{gap:7px}
  .dado svg{width:17px;height:17px}
  #contato .cabecalho-secao{margin-bottom:8px}
  .secao{padding-top:calc(var(--header-h) + 10px);padding-bottom:12px}
}

/* telas de 740px ou menos: só o contato ainda aperta, por causa do formulário */
@media (min-width:821px) and (max-height:740px){
  #contato .cabecalho-secao{margin-bottom:4px}
  #contato .form{padding:6px 12px}
  #contato .campo{margin-bottom:4px}
  #contato .campo textarea{min-height:32px}
  #contato .form__nota{font-size:.68rem;margin-top:4px}
  #contato .form .btn{padding-block:7px}
  #contato .dados{gap:6px}
}

/* ---------- responsivo ---------- */
@media (max-width:960px){
  .duas-colunas,.contato-grade{grid-template-columns:1fr}
  .rodape__topo{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:820px){
  :root{--t-corpo:1rem;--t-h1:clamp(1.9rem,7vw,2.5rem);--t-h2:clamp(1.6rem,6vw,2.1rem)}
  /* no celular o conteúdo empilha e passa da tela: rolagem livre, sem encaixe */
  html{scroll-snap-type:none}
  .secao{
    display:block;min-height:auto;
    padding:calc(var(--header-h) + 34px) 0 clamp(48px,7vw,72px);
  }
  .hero{min-height:76vh;min-height:76svh;padding:calc(var(--header-h) + 48px) 0 64px}
  .hamburguer{display:flex}
  .topo .container{display:flex;justify-content:space-between;gap:16px}
  .topo__cta{display:none}
  .menu__cta{display:inline-flex}
  .menu{
    position:fixed;top:0;left:0;right:0;width:100%;height:100vh;height:100svh;
    flex-direction:column;justify-content:center;gap:8px;overflow-y:auto;
    background:linear-gradient(160deg,var(--verde-esc),var(--verde));
    opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease,visibility .3s;
  }
  body.menu-aberto{overflow:hidden}
  body.menu-aberto .menu{opacity:1;visibility:visible;transform:none}
  .menu a{color:#fff!important;font-family:var(--serif);font-size:1.7rem;padding:12px 24px}
  .menu a::after{display:none}
  .menu .btn{margin-top:22px;color:#fff!important;background:var(--cobre);border-color:var(--cobre);font-family:var(--sans);font-size:var(--t-botao)}
  .topo.is-fixo .menu .btn{color:#fff!important;background:var(--cobre);border-color:var(--cobre)}
  .hero__brasao{right:-160px;opacity:.05}
  .hero__rodape{gap:10px 26px;font-size:var(--t-micro)}
  .rodape__topo{grid-template-columns:1fr}
  .zap{width:54px;height:54px;right:16px;bottom:16px}
}
@media (max-width:520px){
  .marca img{height:44px}
  .botoes .btn{width:100%}
  .socio{padding:22px}
  .area{padding:30px 26px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .revela{opacity:1;transform:none}
}

/* ---------- equipe ---------- */
.equipe{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.2vw,32px);max-width:min(940px,86vh);margin-inline:auto}
.membro{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.membro:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta);border-color:transparent}
.membro__foto{
  position:relative;width:100%;aspect-ratio:5/4;
  background:linear-gradient(165deg,var(--verde-esc),var(--verde));
  display:grid;place-items:center;overflow:hidden;
}
.membro__foto img{width:100%;height:100%;object-fit:cover;object-position:center top}
.membro__inicial{font-family:var(--serif);font-size:5rem;font-weight:400;color:var(--cobre);line-height:1;opacity:.9}
.membro__marca{position:absolute;right:-40px;bottom:-30px;width:170px;opacity:.09}
.membro__dados{padding:26px 28px 30px}
.membro__nome{font-family:var(--serif);font-size:var(--t-h3);font-weight:400;color:var(--verde);line-height:1.2}
.membro__cargo{font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--cobre-txt);margin:10px 0 12px}
.membro__texto{font-size:var(--t-apoio);color:var(--texto-sv);margin:0}
.membro__oab{margin-top:14px;padding-top:14px;border-top:1px solid var(--linha);font-size:var(--t-menor);color:var(--texto-sv);letter-spacing:.03em}

/* ---------- artigos (cartões) ---------- */
.artigos{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.artigo-card{
  display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--raio);padding:32px 30px;text-decoration:none;color:inherit;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.artigo-card:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta);border-color:transparent}
.artigo-card__tag{font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--cobre-txt);font-weight:600;margin-bottom:16px}
.artigo-card h3{color:var(--verde);font-size:var(--t-h3);margin-bottom:14px;line-height:1.2}
.artigo-card p{font-size:var(--t-apoio);color:var(--texto-sv);margin-bottom:24px}
.artigo-card__leia{
  margin-top:auto;padding-top:18px;border-top:1px solid var(--linha);
  font-size:var(--t-menor);font-weight:500;color:var(--verde);display:inline-flex;align-items:center;gap:9px;
}
.artigo-card__leia::after{content:"→";color:var(--cobre);transition:transform .25s ease;display:inline-block}
.artigo-card:hover .artigo-card__leia::after{transform:translateX(5px)}
.mais-artigos{margin-top:44px;text-align:center}

/* ---------- redes sociais ---------- */
.redes{display:flex;align-items:center;gap:10px}
.rede{
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--linha-cla);color:#fff;transition:all .22s ease;flex:none;
}
.rede svg{width:17px;height:17px}
.rede:hover{border-color:var(--cobre);background:var(--cobre);color:#20140A}
.rodape .redes{margin-top:24px}

/* ---------- página de artigo ---------- */
.artigo-topo{
  background:linear-gradient(155deg,var(--verde-esc),var(--verde));color:#EAF1EC;
  padding:calc(var(--header-h) + 64px) 0 clamp(48px,6vw,72px);
}
.artigo-topo .container{max-width:820px;text-align:center}
.artigo-topo .olho{color:var(--cobre-cla)}
.artigo-topo h1{color:#fff;font-size:var(--t-h1);margin-bottom:22px}
.artigo-topo__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;font-size:var(--t-menor);color:rgba(234,241,236,.7);margin-top:6px}
.artigo-topo__meta span{display:inline-flex;align-items:center;gap:9px}
.artigo-topo__meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cobre);flex:none}
.artigo-corpo{padding:clamp(52px,6vw,80px) 0 clamp(56px,7vw,90px)}
.artigo-corpo .container{max-width:740px}
.artigo-corpo p,.artigo-corpo li{font-size:var(--t-corpo);line-height:1.8;color:#2B342E}
.artigo-corpo>.container>p{margin-bottom:1.35em}
.artigo-corpo h2{font-size:var(--t-h2);color:var(--verde);margin:48px 0 18px}
.artigo-corpo h3{font-size:var(--t-h3);color:var(--verde);margin:34px 0 12px}
.artigo-corpo ul,.artigo-corpo ol{padding-left:24px;margin:0 0 1.35em}
.artigo-corpo li{margin-bottom:10px}
.artigo-corpo strong{color:var(--texto)}
.artigo-corpo .abertura{font-size:var(--t-lead);line-height:1.8;color:var(--texto-sv)}
.nota{
  margin:36px 0;padding:26px 30px;background:var(--areia);border-left:3px solid var(--cobre);
  border-radius:0 var(--raio) var(--raio) 0;
}
.nota p{margin:0;font-size:var(--t-apoio);color:var(--texto)}
.nota strong{color:var(--verde)}
.artigo-cta{
  margin-top:56px;padding:38px 36px;background:var(--verde);color:#EAF1EC;border-radius:var(--raio);
}
.artigo-cta h3{color:#fff;font-size:var(--t-h3);margin-bottom:12px}
.artigo-cta p{color:rgba(234,241,236,.82);font-size:var(--t-apoio);margin-bottom:26px}
.artigo-cta .btn{margin:0}
.artigo-voltar{
  margin-top:44px;padding-top:26px;border-top:1px solid var(--linha);
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:var(--t-menor);
}
.artigo-voltar a{color:var(--verde);text-decoration:none;font-weight:500}
.artigo-voltar a:hover{color:var(--cobre-txt);text-decoration:underline;text-underline-offset:4px}
.aviso-artigo{font-size:var(--t-menor);color:var(--texto-sv);font-style:italic;margin-top:34px;line-height:1.7}

/* lista de artigos */
.lista-artigos{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
/* a página do blog usa o container largo; as de texto seguem estreitas */
.pagina-texto .container--largo{max-width:var(--container)}

@media (max-width:820px){
  .equipe{grid-template-columns:1fr;gap:22px;max-width:420px}
  .membro__foto{aspect-ratio:3/2}
  .membro__inicial{font-size:3.4rem}
  .topo .redes{display:none}
  .menu .redes{display:flex;margin-top:28px;justify-content:center}
  .menu .rede{border-color:rgba(255,255,255,.3);color:#fff!important;width:46px;height:46px}
  .menu .rede svg{width:20px;height:20px}
}

/* ---------- carrossel de fotos (Sobre nós) ---------- */
.carrossel{max-width:940px;margin:clamp(24px,3.4vh,44px) auto 0}
.carrossel__palco{
  position:relative;border-radius:var(--raio);overflow:hidden;background:var(--verde-esc);
  box-shadow:var(--sombra-alta);
  height:clamp(190px,34vh,420px);
}
.carrossel__slide{
  position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease;
  pointer-events:none;
}
.carrossel__slide.is-ativo{opacity:1;pointer-events:auto}
.carrossel__slide img{width:100%;height:100%;object-fit:cover;display:block}

.carrossel__seta{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:42px;height:42px;display:grid;place-items:center;cursor:pointer;
  background:rgba(1,42,21,.55);color:#fff;border:1px solid rgba(255,255,255,.28);
  border-radius:50%;transition:background .2s ease,transform .2s ease;
}
.carrossel__seta:hover{background:var(--cobre);border-color:var(--cobre);transform:translateY(-50%) scale(1.06)}
.carrossel__seta svg{width:20px;height:20px}
.carrossel__seta--ant{left:14px}
.carrossel__seta--prox{right:14px}

.carrossel__pontos{display:flex;justify-content:center;gap:10px;margin-top:14px}
.carrossel__pontos button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(1,54,27,.22);transition:background .25s ease,width .25s ease;
}
.carrossel__pontos button.is-ativo{background:var(--cobre);width:26px;border-radius:var(--raio-p)}

/* endereço abaixo do carrossel */
.endereco{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:clamp(16px,2.4vh,26px) 0 0;text-align:center;
  font-size:var(--t-apoio);color:var(--texto-sv);
}
.endereco svg{width:18px;height:18px;color:var(--cobre-txt);flex:none}
.endereco strong{color:var(--texto)}

@media (max-width:820px){
  .carrossel__palco{height:clamp(200px,42vw,300px)}
  .carrossel__seta{width:36px;height:36px}
  .carrossel__seta--ant{left:8px}
  .carrossel__seta--prox{right:8px}
  .endereco{flex-direction:column;gap:6px}
}
@media (prefers-reduced-motion:reduce){
  .carrossel__slide{transition:none}
}

/* ---------- faixa deslizante de números (abertura) ---------- */
.faixa{
  position:absolute;left:0;right:0;bottom:0;z-index:3;overflow:hidden;
  padding:clamp(10px,1.8vh,20px) 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.faixa__trilho{display:flex;width:max-content;animation:faixa-desliza 30s linear infinite}
.faixa:hover .faixa__trilho{animation-play-state:paused}
.faixa__grupo{
  display:flex;align-items:center;gap:clamp(38px,6vw,88px);
  padding-right:clamp(38px,6vw,88px);
}
.faixa__item{
  display:inline-flex;align-items:baseline;gap:10px;white-space:nowrap;
  font-size:var(--t-menor);color:rgba(234,241,236,.72);letter-spacing:.01em;
}
.faixa__item strong{
  font-family:var(--sans);font-weight:600;font-size:1.35rem;color:#fff;letter-spacing:.01em;
}
@keyframes faixa-desliza{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:820px){
  .faixa__item strong{font-size:1.2rem}
}
@media (prefers-reduced-motion:reduce){
  .faixa__trilho{animation:none;width:100%;justify-content:center}
  .faixa__grupo:last-child{display:none}
}

/* ---------- avaliações (carrossel horizontal) ---------- */
.avaliacoes__topo{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:20px 40px;margin-bottom:clamp(22px,3.2vh,40px);text-align:left;
}
.avaliacoes__topo h2{color:var(--verde)}
.avaliacoes__resumo{
  margin:0;font-size:var(--t-menor);color:var(--texto-sv);text-align:right;line-height:1.6;
  padding-top:10px;border-top:2px solid var(--cobre);
}
.avaliacoes__resumo strong{color:var(--texto);font-weight:600}
.avaliacoes__link{
  display:inline-block;margin-top:6px;font-size:var(--t-micro);color:var(--cobre-txt);
  text-decoration:underline;text-underline-offset:3px;
}

.avaliacoes__palco{position:relative}
.trilho-avaliacoes{
  display:grid;grid-auto-flow:column;
  grid-auto-columns:calc((100% - 2*clamp(16px,1.6vw,24px)) / 3);
  gap:clamp(16px,1.6vw,24px);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-bottom:6px;scrollbar-width:none;
}
.trilho-avaliacoes::-webkit-scrollbar{display:none}
.trilho-avaliacoes:focus-visible{outline:2px solid var(--cobre);outline-offset:4px}

.avaliacao{
  scroll-snap-align:start;background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--raio);padding:clamp(18px,2.6vh,28px) clamp(20px,2vw,28px);
  display:flex;flex-direction:column;gap:16px;
}
.avaliacao__texto{
  margin:0;font-size:var(--t-apoio);color:var(--texto-sv);line-height:1.65;flex:1;
}
.avaliacao__autor{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  padding-top:14px;border-top:1px solid var(--linha);
}
.avaliacao__inicial{
  width:34px;height:34px;border-radius:50%;background:var(--verde);color:var(--cobre-cla);
  display:grid;place-items:center;font-family:var(--serif);font-size:1rem;
}
.avaliacao__nome{display:block;font-size:var(--t-menor);font-weight:500;color:var(--texto)}
.avaliacao__estrelas{display:inline-flex;gap:2px;margin-top:3px;color:var(--cobre)}
.avaliacao__estrelas svg{width:13px;height:13px}
.avaliacao__origem{font-size:var(--t-micro);color:var(--texto-sv);letter-spacing:.04em}

.avaliacoes__controles{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:clamp(18px,2.6vh,32px)}
.avaliacoes__seta{
  width:40px;height:40px;display:grid;place-items:center;cursor:pointer;border-radius:50%;
  background:transparent;border:1px solid var(--linha);color:var(--verde);
  transition:all .2s ease;
}
.avaliacoes__seta:hover:not(:disabled){background:var(--verde);border-color:var(--verde);color:#fff}
.avaliacoes__seta:disabled{opacity:.35;cursor:default}
.avaliacoes__seta svg{width:19px;height:19px}
.avaliacoes__pontos{display:flex;gap:8px}
.avaliacoes__pontos button{
  width:8px;height:8px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(1,54,27,.22);transition:background .25s ease,width .25s ease;
}
.avaliacoes__pontos button.is-ativo{background:var(--cobre);width:24px;border-radius:var(--raio-p)}
.avaliacoes__contador{
  font-size:var(--t-menor);color:var(--texto-sv);letter-spacing:.04em;
  min-width:74px;text-align:center;font-variant-numeric:tabular-nums;
}

@media (max-width:960px){
  .trilho-avaliacoes{grid-auto-columns:calc((100% - clamp(16px,1.6vw,24px)) / 2)}
}
@media (max-width:820px){
  .avaliacoes__topo{flex-direction:column;align-items:flex-start}
  .avaliacoes__resumo{text-align:left}
  .trilho-avaliacoes{grid-auto-columns:88%}
}

/* ---------- contato sem formulário: dados em bloco central ---------- */
.contato-so-dados{max-width:880px;margin-inline:auto}
.contato-so-dados .dados{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(22px,3.4vh,38px) clamp(30px,4vw,70px);
}
@media (max-width:600px){
  .contato-so-dados .dados{grid-template-columns:1fr}
}

/* rodapé enxuto: marca e redes centralizadas */

/* ---------- capa dos cartões de artigo ---------- */
.artigo-card{padding:0;overflow:hidden}
.artigo-card__capa{
  display:block;aspect-ratio:16/11;overflow:hidden;background:var(--verde-esc);
}
.artigo-card__capa img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.artigo-card:hover .artigo-card__capa img{transform:scale(1.04)}
.artigo-card>:not(.artigo-card__capa){margin-inline:clamp(20px,2vw,28px)}
.artigo-card__tag{margin-top:clamp(16px,2.4vh,22px)}
.artigo-card__leia{margin-bottom:clamp(16px,2.4vh,22px)}

/* capa no topo da página do artigo */
.artigo-capa{
  margin:0 auto;max-width:1160px;padding:0 24px;
  transform:translateY(clamp(-56px,-6vh,-36px));
}
.artigo-capa img{
  width:100%;aspect-ratio:16/6.2;object-fit:cover;border-radius:var(--raio);
  box-shadow:var(--sombra-alta);
}
.artigo-corpo{padding-top:0}

@media (max-width:820px){
  .artigo-capa img{aspect-ratio:16/9}
}

/* ---------- rodapé em colunas ---------- */
.rodape{padding:clamp(48px,5.5vw,72px) 0 0}
.rodape__topo{
  grid-template-columns:1.1fr 1fr 1.2fr;gap:clamp(28px,4vw,60px);
  align-items:start;text-align:left;padding-bottom:clamp(26px,3.4vw,40px);
}
.rodape__marca img{height:clamp(48px,4vw,60px);margin:0}
.rodape__rotulo{
  font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;
  color:rgba(234,241,236,.42);margin:0 0 2px;
}
.rodape__topo p{margin:0 0 14px}
.rodape__topo p:last-child{margin-bottom:0}
.rodape__acoes{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;margin-top:22px}
.rodape .redes{margin-top:0}
.rodape__voltar{
  display:inline-flex;align-items:center;gap:8px;font-size:var(--t-menor);
  color:rgba(234,241,236,.75);transition:color .2s ease;
}
.rodape__voltar:hover{color:#fff}
.rodape__voltar svg{width:15px;height:15px}
.rodape__aviso{margin:0 0 clamp(22px,3vw,32px)}
.rodape__aviso a{text-decoration:underline;text-underline-offset:3px}

/* barra final com ano e CNPJ */
.rodape__barra{
  background:rgba(255,255,255,.05);border-top:1px solid var(--linha-cla);
  padding:15px 0;text-align:center;font-size:var(--t-micro);
  color:rgba(234,241,236,.6);letter-spacing:.02em;
}

@media (max-width:820px){
  .rodape__topo{grid-template-columns:1fr;gap:30px}
  .rodape__acoes{justify-content:flex-start}
}

/* ---------- voltar ao topo (acima do WhatsApp) ---------- */
.ao-topo{
  position:fixed;right:20px;bottom:96px;z-index:90;
  width:48px;height:48px;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;padding:0;
  background:var(--verde);color:#fff;border:1px solid rgba(255,255,255,.22);
  box-shadow:0 8px 22px rgba(0,0,0,.24);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s,background .2s ease;
}
.ao-topo.is-visivel{opacity:1;visibility:visible;transform:none}
.ao-topo:hover{background:var(--cobre);border-color:var(--cobre)}
.ao-topo svg{width:20px;height:20px}
@media (max-width:820px){
  .ao-topo{right:16px;bottom:86px;width:44px;height:44px}
  .ao-topo svg{width:18px;height:18px}
}

/* ---------- impressão ---------- */
@media print{
  .topo,.zap,.ao-topo,.form,.hamburguer,.artigo-cta,.faixa{display:none!important}
  body{font-size:12pt;color:#000}
  .secao--verde,.hero,.artigo-topo{background:#fff!important;color:#000!important}
  .artigo-topo h1{color:#000!important}
}
