﻿/* ==============================
   O ESCRITÃ“RIO - HERO
============================== */

.escritorio-hero {
  padding: calc(var(--header-height) + 64px) 0 80px;
  background-color: #f8f9fa;
}

.escritorio-hero-container {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: start;
  gap: 50px;
}

.escritorio-content h1 {
  margin-bottom: 16px;

  font-size: 56px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;

  color: var(--color-text);
}

.escritorio-content h3 {
  margin-bottom: 16px;

  font-size: 24px;
  font-weight: 500;
  line-height: 1.35;

  color: var(--color-muted);
}

.escritorio-text {
  max-width: 1000px;
}

.escritorio-text p {
  margin-bottom: 18px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

.escritorio-text p:last-child {
  margin-bottom: 0;
}

.escritorio-image {
  width: 100%;
}

.escritorio-image img {
  width: 100%;
  height: auto;
  min-height: 420px;

  object-fit: cover;
  object-position: center;

  border-radius: 12px;
}

/* ==============================
   CULTURA DA EMPRESA
============================== */

.cultura {
  padding: 80px 0;
  background-color: var(--color-white);
}

.cultura-header {
  margin-bottom: 0;
  text-align: center;

  display: flex;
  flex-direction: column;
  align-items: center;
}

.cultura-header h2 {
  margin-bottom: 10px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.cultura-header .section-line-horizontal {
  margin: 0 auto 28px;
  transform-origin: center;
}

.cultura-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.cultura-card {
  min-height: 180px;
  padding: 24px;

  border-radius: 12px;

  text-align: left;
  color: var(--color-white);

  transition:
    transform var(--transition),
    box-shadow var(--transition),
    background-color var(--transition);
}

.cultura-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(7, 26, 40, 0.22);
}

.cultura-card-title {
  display: flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 16px;
}

.cultura-card-title h4 {
  margin: 0;

  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;

  color: var(--color-white);
}

.cultura-card p {
  margin: 0;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;

  color: rgba(255, 255, 255, 0.86);
}

/* Ãcones cultura */

.cultura-icon {
  display: inline-block;
  flex: 0 0 auto;

  width: 14px;
  height: 14px;

  background-color: var(--color-secondary);
}

.cultura-icon-circle {
  border-radius: 50%;
}

.cultura-icon-diamond {
  transform: rotate(45deg);
}

.cultura-icon-triangle {
  width: 0;
  height: 0;

  background-color: transparent;

  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 16px solid var(--color-secondary);
}

/* ==============================
   A EQUIPE
============================== */

.a_equipe {
  padding: 80px 0;
  background-color: #ececea;
}

.a_equipe-header {
  margin-bottom: 32px;
}

.a_equipe-header h2 {
  margin: 0;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.a_equipe-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3px minmax(0, 1fr);
  align-items: stretch;
  gap: 48px;
}

.a_equipe .text-block p {
  width: 100%;
  max-width: none;
  margin-bottom: 18px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

.a_equipe .text-block p:last-child {
  margin-bottom: 0;
}

/* ==============================
   NÃšCLEO DE ACORDO
============================== */

.nucleo-acordo {
  padding: 80px 0;
  background-color: #ececea;
}

.nucleo-acordo-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: stretch;
  gap: 72px;
}

.nucleo-acordo-image img {
  width: 100%;
  height: 280px;

  object-fit: cover;
  object-position: center;

  border-radius: 12px;
}

.nucleo-acordo-content h2 {
  margin-bottom: 10px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.nucleo-acordo-content p {
  max-width: 560px;
  margin-bottom: 28px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

/* ==============================
   ADVOCACIA 4.0
============================== */

.advocacia40 {
  padding: 80px 0;
  background-color: var(--color-white);
}

.advocacia40-header {
  margin-bottom: 32px;
}

.advocacia40-header h2 {
  margin: 0;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.advocacia40-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3px minmax(0, 1fr);
  align-items: stretch;
  gap: 48px;
}

.advocacia40 .text-block {
  width: 100%;
}

.advocacia40 .text-block p {
  max-width: none;
  margin-bottom: 18px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

.advocacia40 .text-block p:last-child {
  margin-bottom: 0;
}

/* ==============================
   CONTENCIOSO
============================== */

.contencioso {
  padding: 80px 0;
  background-color: var(--color-white);
}

.contencioso-header h2 {
  margin-bottom: 10px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.contencioso-container {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
}

.contencioso .text-block p {
  max-width: none;
  margin-bottom: 18px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

.contencioso .text-block p:last-child {
  margin-bottom: 0;
}

/* ==============================
   DESTAQUES + MEDIAÃ‡ÃƒO E ARBITRAGEM
============================== */

.destaques_mediacao {
  padding: 80px 0;
  background-color: #ececea;
}

.destaques_mediacao-container {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.destaques_mediacao-top {
  text-align: center;
}

.destaques_mediacao-top h2 {
  margin-bottom: 24px;

  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;

  color: var(--color-text);
}

.destaques_mediacao-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;

  width: 100%;
  margin: 0 auto;
}

.destaques_mediacao-grid span {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;
  padding: 10px 18px;

  border-radius: 8px;
  background-color: var(--color-white);

  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;

  color: var(--color-secondary);
}

.destaques_mediacao-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 72px;
}

.destaques_mediacao-image img {
  width: 100%;
  height: 320px;

  object-fit: cover;
  object-position: center;

  border-radius: 12px;
}

.destaques_mediacao-content h2 {
  margin-bottom: 10px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.destaques_mediacao-content p {
  max-width: 100%;
  margin: 0;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

/* ==============================
   LOCALIZAÃ‡ÃƒO
============================== */

.localizacao {
  padding: 80px 0;
  background-color: var(--color-white);
}

.localizacao-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3px minmax(0, 1fr);
  align-items: center;
  gap: 48px;
}

.localizacao-content h2 {
  margin-bottom: 28px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.localizacao-content {
  width: 100%;
}

.localizacao-content p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

.localizacao-map {
  width: 100%;
  height: 420px;

  overflow: hidden;

  border-radius: 16px;
  background-color: #eaf4fb;
}

.localizacao-map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

/* ==============================
   PROFISSIONAIS - HERO
============================== */

.profissionais-hero {
  padding: calc(var(--header-height) + 72px) 0 72px;
  background-color: var(--color-white);
}

.profissionais-hero-container {
  max-width: none;
}

.profissionais-hero h1 {
  margin-bottom: 12px;

  font-size: 56px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;

  color: var(--color-text);
}

.profissionais-hero h3 {
  margin-bottom: 18px;

  font-size: 24px;
  font-weight: 500;
  line-height: 1.35;

  color: var(--color-muted);
}

.profissionais-hero p {
  max-width: 1080px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

/* ==============================
   PROFISSIONAIS - TÃTULOS
============================== */

.section-title-center {
  margin-bottom: 40px;
  text-align: center;
}

.section-title-center h2 {
  margin-bottom: 16px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.section-title-center p {
  margin: 0 auto;

  font-size: 18px;
  font-weight: 400;
  line-height: 1.45;

  color: var(--color-muted);
}

/* ==============================
   PROFISSIONAIS - GALERIA
============================== */

.profissionais-galeria {
  padding: 56px 0 72px;
  overflow: hidden;
}

.principais-socios {
  background-color: #f2f2f2;
}

.nucleo-juridico {
  background-color: var(--color-white);
}

.profissional-image-card {
  position: relative;
  overflow: hidden;

  height: 340px;

  border-radius: 8px;
  background-color: #ddd;

  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.profissional-image-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(7, 26, 40, 0.18);
}

.profissional-image-card > img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center top;
}

.profissional-image-card::after {
  content: "";

  position: absolute;
  inset: 0;

  background: linear-gradient(
    180deg,
    rgba(7, 26, 40, 0) 45%,
    rgba(7, 26, 40, 0.78) 100%
  );

  pointer-events: none;
}

.profissional-image-card-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;

  padding: 22px 18px;
}

.profissional-image-card-overlay h3 {
  margin: 0;

  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;

  text-align: center;
  color: var(--color-white);
}

.profissional-image-card .card-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

/* Principais sÃ³cios - grid */

.principais-socios-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

.principais-socios-grid .profissional-image-card {
  width: 100%;
}

/* NÃºcleo JurÃ­dico - carrossel */

.nucleo-juridico .profissionais-carousel {
  position: relative;

  width: 100%;
  max-width: var(--container-width);

  margin: 0 auto;
  padding: 0 64px;
}

.nucleo-juridico .profissionais-carousel-viewport {
  width: 100%;
  overflow: hidden;

  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.nucleo-juridico .profissionais-carousel-viewport::-webkit-scrollbar {
  display: none;
}

.nucleo-juridico .profissionais-cards-row {
  display: flex;
  gap: 24px;

  width: max-content;
  min-width: 100%;

  overflow: visible;

  transition: transform 0.35s ease;
  will-change: transform;
}

.nucleo-juridico .profissional-image-card {
  flex: 0 0 240px;
}

.nucleo-juridico .profissionais-carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;

  transform: translateY(-50%);

  width: 44px;
  height: 44px;

  border: none;
  background: transparent;

  font-size: 52px;
  font-weight: 300;
  line-height: 1;

  color: var(--color-text);

  cursor: pointer;

  transition:
    color var(--transition),
    opacity var(--transition),
    transform var(--transition);
}

.nucleo-juridico .profissionais-carousel-arrow:hover {
  color: var(--color-secondary);
  transform: translateY(-50%) scale(1.08);
}

.nucleo-juridico .profissionais-carousel-arrow:disabled {
  opacity: 0.25;
  cursor: not-allowed;
}

.nucleo-juridico .profissionais-carousel-prev {
  left: 0;
}

.nucleo-juridico .profissionais-carousel-next {
  right: 0;
}

/* ==============================
   PROFISSIONAIS - ESTRUTURA INTEGRADA
============================== */

.estrutura-equipe {
  padding: 88px 0;
  background-color: var(--color-white);
}

.estrutura-equipe-header,
.areas-gestao-header {
  width: 100%;
  max-width: none;

  margin-bottom: 42px;
}

.estrutura-equipe-header h2,
.areas-gestao-header h2 {
  margin-bottom: 16px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.2;

  color: var(--color-primary);
}

.estrutura-equipe-header p,
.areas-gestao-header p {
  width: 100%;
  max-width: none;

  margin-bottom: 14px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;

  color: var(--color-text);
}

.estrutura-equipe-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.estrutura-card {
  min-height: 260px;
  padding: 26px 22px;

  display: flex;
  flex-direction: column;

  border-radius: 12px;
  background: linear-gradient(
    135deg,
    var(--color-primary) 0%,
    var(--color-primary-light) 100%
  );

  color: var(--color-white);
}

.estrutura-card strong {
  display: block;

  margin-bottom: 20px;

  font-size: 34px;
  font-weight: 700;
  line-height: 1;

  color: var(--color-secondary);
}

.estrutura-card h3 {
  margin-bottom: 14px;

  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;

  color: var(--color-white);
}

.estrutura-card p {
  margin: 0;

  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;

  color: rgba(255, 255, 255, 0.88);
}

/* ==============================
   PROFISSIONAIS - ÃREAS DE GESTÃƒO
============================== */

.areas-gestao {
  padding: 88px 0;
  background-color: var(--color-off);
}

.areas-gestao-header {
  width: 100%;
  max-width: none;
  margin-bottom: 42px;
}

.areas-gestao-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.gestao-card {
  min-height: 220px;
  padding: 28px;

  border-radius: 12px;
  background-color: var(--color-white);

  box-shadow: 0 18px 44px rgba(7, 26, 40, 0.08);

  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.gestao-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 54px rgba(7, 26, 40, 0.12);
}

.gestao-card h3 {
  margin-bottom: 14px;

  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;

  color: var(--color-primary);
}

.gestao-card p {
  margin: 0;

  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;

  color: var(--color-text);
}

/* Responsivo */

@media (max-width: 1180px) {
  .estrutura-equipe-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .areas-gestao-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .estrutura-equipe,
  .areas-gestao {
    padding: 64px 0;
  }

  .estrutura-equipe-header,
  .areas-gestao-header {
    margin-bottom: 32px;
  }

  .estrutura-equipe-header h2,
  .areas-gestao-header h2 {
    font-size: 30px;
  }

  .estrutura-equipe-grid,
  .areas-gestao-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .estrutura-card,
  .gestao-card {
    min-height: auto;
    padding: 24px 20px;
  }

  .estrutura-card strong {
    font-size: 30px;
  }
}

/* ==============================
   CHAMADA FINAL PROFISSIONAIS
============================== */

.profissionais-chamada {
  padding: 80px 0 88px;
  background-color: var(--color-white);
}

.profissionais-chamada-content {
  max-width: 760px;
}

.profissionais-chamada-content h2 {
  margin-bottom: 12px;

  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-text);
}

.profissionais-chamada-content p {
  max-width: 700px;
  margin-bottom: 30px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
}

/* ==============================
   PERFIL DO SÃ“CIO
============================== */

.perfil-socio {
  padding: calc(var(--header-height) + 64px) 0 96px;
  background-color: var(--color-white);
}

.perfil-socio-container {
  display: grid;
  grid-template-columns: 170px 1.05fr 0.95fr;
  align-items: start;
  gap: 24px;
}

.perfil-socio-photo {
  display: flex;
  justify-content: center;
}

.perfil-socio-image img {
  width: 170px;
  height: 170px;

  object-fit: cover;
  object-position: center top;

  border-radius: 50%;
}

.perfil-socio-info h1 {
  margin-bottom: 14px;

  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;

  color: var(--color-primary);
  white-space: pre-line;
}

.perfil-actions {
  display: flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 28px;
}

.perfil-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 36px;
  padding: 0 14px;

  border-radius: 6px;
  border: 1px solid var(--color-primary);

  background-color: transparent;
  color: var(--color-primary);

  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.perfil-retorno {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 36px;
  min-height: 36px;
  padding: 0 16px;

  margin: 0;

  font-size: 14px;
  font-weight: 500;
  line-height: 1;

  box-shadow: none;
}

.perfil-section {
  margin-bottom: 36px;
}

.perfil-section:last-child {
  margin-bottom: 0;
}

.perfil-section h2,
.perfil-socio-atividades h2 {
  margin-bottom: 16px;

  font-size: 30px;
  font-weight: 500;
  line-height: 1.2;

  color: var(--color-text);
}

.perfil-lista {
  margin: 0;
  padding: 0;

  list-style: none;
}

.perfil-lista li {
  margin-bottom: 12px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;

  color: var(--color-text);
  white-space: pre-line;
}

.perfil-lista li:last-child {
  margin-bottom: 0;
}

.perfil-section p {
  max-width: 560px;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  color: var(--color-text);
  white-space: pre-line;
}

.perfil-socio-atividades {
  padding-top: 4rem;
}

.perfil-atividades-box {
  max-width: 520px;
  padding: 20px;

  border-radius: 8px;

  background-color: var(--color-primary);
  color: var(--color-white);
}

.perfil-atividades-box ul {
  margin: 0;
  padding-left: 0;

  list-style: none;
}

.perfil-atividades-box li {
  margin-bottom: 12px;

  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;

  color: var(--color-white);
}

.perfil-atividades-box li:last-child {
  margin-bottom: 0;
}

/* ==============================
   RESPONSIVO
============================== */

@media (max-width: 1200px) {
  .principais-socios-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1000px) {
  .perfil-socio-container {
    grid-template-columns: 150px 1fr;
    gap: 40px;
  }

  .perfil-socio-atividades {
    grid-column: 2 / 3;
    padding-top: 0;
  }
}

@media (max-width: 900px) {
  .escritorio-hero {
    padding: calc(var(--header-height) + 48px) 0 64px;
  }

  .escritorio-hero-container,
  .nucleo-acordo-container,
  .destaques_mediacao-bottom,
  .localizacao-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .a_equipe,
  .advocacia40,
  .contencioso,
  .localizacao,
  .cultura,
  .nucleo-acordo,
  .destaques_mediacao {
    padding: 56px 0 64px;
  }

  .a_equipe-container,
  .advocacia40-container {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .escritorio-content h1,
  .profissionais-hero h1 {
    font-size: 42px;
  }

  .cultura-grid {
    grid-template-columns: 1fr;
  }

  .escritorio-image img {
    height: 360px;
    min-height: 0;
  }

  .nucleo-acordo-image img {
    height: 320px;
  }

  .destaques_mediacao-container {
    gap: 56px;
  }

  .destaques_mediacao-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .destaques_mediacao-image img {
    height: 300px;
  }

  .localizacao-map {
    height: 360px;
  }

  .profissionais-hero {
    padding: calc(var(--header-height) + 56px) 0 64px;
  }

  .nucleo-juridico .profissionais-carousel {
    padding: 0 48px;
  }

  .nucleo-juridico .profissional-image-card {
    flex-basis: 220px;
    height: 320px;
  }

  .nucleo-juridico .profissionais-carousel-arrow {
    width: 38px;
    height: 38px;

    font-size: 42px;
  }

  .gestores-slider {
    grid-template-columns: 40px 1fr 40px;
    gap: 20px;
  }

  .gestor-card {
    grid-template-columns: 260px 1fr;
    gap: 40px;
  }

  .gestor-image img {
    width: 260px;
    height: 260px;
  }
}

@media (max-width: 760px) {
  .principais-socios-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .perfil-socio {
    padding: calc(var(--header-height) + 48px) 0 64px;
  }

  .perfil-socio-container {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .perfil-socio-photo,
  .perfil-actions {
    justify-content: center;
  }

  .perfil-socio-info {
    text-align: center;
  }

  .perfil-socio-atividades {
    grid-column: auto;
    padding-top: 0;
  }

  .perfil-atividades-box {
    max-width: none;
  }

  .gestores-slider {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .gestor-card {
    grid-template-columns: 1fr;
    gap: 28px;

    text-align: center;
  }

  .gestor-image {
    display: flex;
    justify-content: center;
  }

  .gestor-content p {
    margin: 0 auto;
  }
}

@media (max-width: 560px) {
  .escritorio-hero,
  .profissionais-hero,
  .perfil-socio {
    padding: calc(var(--header-height) + 40px) 0 56px;
  }

  .cultura,
  .a_equipe,
  .nucleo-acordo,
  .advocacia40,
  .contencioso,
  .destaques_mediacao,
  .localizacao {
    padding: 48px 0 56px;
  }

  .escritorio-content h1,
  .profissionais-hero h1 {
    font-size: 34px;
  }

  .escritorio-content h3,
  .profissionais-hero h3 {
    font-size: 20px;
  }

  .cultura-header h2,
  .a_equipe-header h2,
  .nucleo-acordo-content h2,
  .advocacia40-header h2,
  .contencioso-header h2,
  .destaques_mediacao-content h2,
  .localizacao-content h2,
  .section-title-center h2,
  .profissionais-chamada-content h2 {
    font-size: 28px;
  }

  .escritorio-text p,
  .a_equipe .text-block p,
  .nucleo-acordo-content p,
  .advocacia40 .text-block p,
  .contencioso .text-block p,
  .destaques_mediacao-content p,
  .localizacao-content p,
  .profissionais-hero p,
  .profissionais-chamada-content p {
    font-size: 15px;
  }

  .escritorio-image img {
    height: 280px;
  }

  .nucleo-acordo-image img {
    height: 220px;
  }

  .destaques_mediacao-top h2 {
    font-size: 20px;
  }

  .destaques_mediacao-grid,
  .principais-socios-grid {
    grid-template-columns: 1fr;
  }

  .destaques_mediacao-grid {
    gap: 10px;
  }

  .destaques_mediacao-grid span {
    min-height: 44px;
    font-size: 15px;
  }

  .destaques_mediacao-image img {
    height: 240px;
  }

  .localizacao-map {
    height: 300px;
    border-radius: 12px;
  }

  .profissionais-galeria {
    padding: 48px 0 56px;
  }

  .profissional-image-card,
  .principais-socios-grid .profissional-image-card {
    height: 360px;
  }

  .nucleo-juridico .profissionais-carousel {
    padding: 0;
  }

  .nucleo-juridico .profissionais-carousel-arrow {
    display: none;
  }

  .nucleo-juridico .profissionais-carousel-viewport {
    overflow-x: auto;
    padding-bottom: 12px;
  }

  .nucleo-juridico .profissionais-cards-row {
    transform: none !important;
  }

  .gestores {
    padding: 56px 0 64px;
  }

  .gestor-image img {
    width: 240px;
    height: 240px;
  }

  .gestor-content h3 {
    font-size: 26px;
  }

  .perfil-socio-image img {
    width: 150px;
    height: 150px;
  }

  .perfil-socio-info h1 {
    font-size: 26px;
  }

  .perfil-actions {
    flex-wrap: wrap;
  }

  .perfil-section h2,
  .perfil-socio-atividades h2 {
    font-size: 18px;
  }

  .perfil-lista li,
  .perfil-section p {
    font-size: 14px;
  }

  .perfil-atividades-box {
    padding: 20px;
  }

  .perfil-atividades-box li {
    font-size: 13px;
  }
}


/* ==============================
   RESPONSIVO REFINADO - INTERNAS
============================== */

@media (max-width: 760px) {
  .escritorio-hero,
  .profissionais-hero,
  .perfil-socio {
    padding: calc(var(--header-height) + 34px) 0 46px;
  }

  .cultura,
  .a_equipe,
  .nucleo-acordo,
  .advocacia40,
  .contencioso,
  .destaques_mediacao,
  .localizacao,
  .profissionais-galeria,
  .gestores,
  .profissionais-chamada {
    padding: 44px 0 50px;
  }

  .escritorio-hero-container,
  .nucleo-acordo-container,
  .destaques_mediacao-bottom,
  .localizacao-container,
  .a_equipe-container,
  .advocacia40-container {
    gap: 28px;
  }

  .escritorio-content h1,
  .profissionais-hero h1 {
    font-size: 32px;
    margin-bottom: 14px;
  }

  .escritorio-content h3,
  .profissionais-hero h3 {
    font-size: 18px;
  }

  .a_equipe-header,
  .advocacia40-header,
  .section-title-center {
    margin-bottom: 26px;
  }

  .cultura-header {
    margin-bottom: 0;
  }

  .cultura-header h2,
  .a_equipe-header h2,
  .nucleo-acordo-content h2,
  .advocacia40-header h2,
  .contencioso-header h2,
  .destaques_mediacao-content h2,
  .localizacao-content h2,
  .section-title-center h2,
  .profissionais-chamada-content h2 {
    font-size: 26px;
  }

  .escritorio-text p,
  .a_equipe .text-block p,
  .nucleo-acordo-content p,
  .advocacia40 .text-block p,
  .contencioso .text-block p,
  .destaques_mediacao-content p,
  .localizacao-content p,
  .profissionais-hero p,
  .profissionais-chamada-content p,
  .cultura-card p {
    font-size: 14.5px;
    line-height: 1.55;
  }

  .escritorio-image img,
  .nucleo-acordo-image img,
  .destaques_mediacao-image img {
    height: 210px;
    min-height: 0;
    border-radius: 10px;
  }

  .cultura-grid,
  .destaques_mediacao-grid {
    gap: 12px;
  }

  .cultura-card {
    min-height: auto;
    padding: 20px;
    border-radius: 10px;
  }

  .cultura-card-title h4 {
    font-size: 18px;
  }

  .destaques_mediacao-container {
    gap: 42px;
  }

  .destaques_mediacao-top h2 {
    font-size: 19px;
  }

  .destaques_mediacao-grid span {
    min-height: 40px;
    padding: 8px 12px;
    font-size: 14px;
  }

  .localizacao-content h2 {
    margin-bottom: 18px;
  }

  .localizacao-map {
    height: 250px;
    border-radius: 12px;
  }

  .principais-socios-grid {
    gap: 18px;
  }

  .profissional-image-card,
  .principais-socios-grid .profissional-image-card {
    height: 300px;
  }

  .nucleo-juridico .profissionais-carousel-viewport {
    padding-bottom: 10px;
  }

  .nucleo-juridico .profissional-image-card {
    flex-basis: min(74vw, 230px);
    height: 300px;
  }

  .profissional-image-card-overlay {
    padding: 18px 14px;
  }

  .profissional-image-card-overlay h3 {
    font-size: 16px;
  }

  .gestor-card {
    gap: 22px;
  }

  .gestor-image img {
    width: 210px;
    height: 210px;
  }

  .gestor-content h3 {
    margin-bottom: 10px;
    font-size: 24px;
  }

  .gestor-content h4 {
    margin-bottom: 18px;
    font-size: 18px;
  }

  .perfil-socio-container {
    gap: 26px;
  }

  .perfil-socio-image img {
    width: 132px;
    height: 132px;
  }

  .perfil-socio-info h1 {
    font-size: 24px;
  }

  .perfil-actions {
    margin-bottom: 22px;
  }

  .perfil-section {
    margin-bottom: 28px;
  }

  .perfil-section h2,
  .perfil-socio-atividades h2 {
    margin-bottom: 12px;
    font-size: 18px;
  }

  .perfil-lista li,
  .perfil-section p {
    font-size: 14px;
    line-height: 1.55;
  }

  .perfil-atividades-box {
    padding: 18px;
  }

  .perfil-atividades-box li {
    font-size: 13px;
  }
}

@media (max-width: 430px) {
  .escritorio-hero,
  .profissionais-hero,
  .perfil-socio {
    padding: calc(var(--header-height) + 28px) 0 42px;
  }

  .cultura,
  .a_equipe,
  .nucleo-acordo,
  .advocacia40,
  .contencioso,
  .destaques_mediacao,
  .localizacao,
  .profissionais-galeria,
  .gestores,
  .profissionais-chamada {
    padding: 40px 0 46px;
  }

  .escritorio-image img,
  .nucleo-acordo-image img,
  .destaques_mediacao-image img {
    height: 190px;
  }

  .localizacao-map {
    height: 230px;
  }

  .profissional-image-card,
  .principais-socios-grid .profissional-image-card,
  .nucleo-juridico .profissional-image-card {
    height: 280px;
  }

  .gestor-image img {
    width: 190px;
    height: 190px;
  }

}


/* ==============================
   GESTORES - SETAS RESPONSIVAS
============================== */

@media (max-width: 760px) {
  .gestores-slider {
    --gestor-img-size: 210px;
    position: relative;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 0;
  }

  .gestor-card {
    grid-template-columns: 1fr;
    gap: 22px;
    text-align: center;
  }

  .gestor-image {
    display: flex;
    justify-content: center;
  }

  .gestor-image img {
    width: var(--gestor-img-size);
    height: var(--gestor-img-size);
  }

  .gestores-arrow {
    position: absolute;
    top: calc(var(--gestor-img-size) / 2);
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 42px;

    border: none;
    background: transparent;

    font-size: 38px;
    font-weight: 300;
    line-height: 1;
    color: var(--color-text);

    cursor: pointer;

    transform: translateY(-50%);

    transition:
      color var(--transition),
      transform var(--transition),
      opacity var(--transition);
  }

  .gestores-arrow:hover,
  .gestores-arrow:focus-visible {
    color: var(--color-secondary);
    transform: translateY(-50%) scale(1.08);
  }

  .gestores-arrow:active {
    transform: translateY(-50%) scale(0.96);
  }

  .gestores-arrow-prev {
    left: calc(50% - (var(--gestor-img-size) / 2) - 42px);
  }

  .gestores-arrow-next {
    right: calc(50% - (var(--gestor-img-size) / 2) - 42px);
  }
}

@media (max-width: 560px) {
  .gestores-slider {
    --gestor-img-size: 210px;
  }
}

@media (max-width: 430px) {
  .gestores-slider {
    --gestor-img-size: 190px;
  }
}

/* ==============================
   PROFISSIONAIS - PRINCIPAIS SÃ“CIOS CARROSSEL RESPONSIVO
============================== */

/* Desktop: mantÃ©m aparÃªncia de grid */
.principais-socios .principais-socios-carousel {
  position: relative;
  width: 100%;
}

.principais-socios .profissionais-carousel-viewport {
  width: 100%;
  overflow: visible;
}

.principais-socios .profissionais-carousel-arrow {
  display: none;
}

/* Tablet: vira carrossel com setas */
@media (max-width: 900px) {
  .principais-socios .principais-socios-carousel {
    padding: 0 48px;
  }

  .principais-socios .profissionais-carousel-viewport {
    overflow: hidden;
  }

  .principais-socios .principais-socios-grid {
    display: flex;
    grid-template-columns: none;

    gap: 24px;

    width: max-content;
    min-width: 100%;

    transition: transform 0.35s ease;
    will-change: transform;
  }

  .principais-socios .profissional-image-card {
    flex: 0 0 220px;
    height: 320px;
  }

  .principais-socios .profissionais-carousel-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border: none;
    background: transparent;

    font-size: 42px;
    font-weight: 300;
    line-height: 1;

    color: var(--color-text);

    cursor: pointer;

    transform: translateY(-50%);

    transition:
      color var(--transition),
      opacity var(--transition),
      transform var(--transition);
  }

  .principais-socios .profissionais-carousel-arrow:hover {
    color: var(--color-secondary);
    transform: translateY(-50%) scale(1.08);
  }

  .principais-socios .profissionais-carousel-arrow:disabled {
    opacity: 0.25;
    cursor: default;
    pointer-events: none;
  }

  .principais-socios .profissionais-carousel-prev {
    left: 0;
  }

  .principais-socios .profissionais-carousel-next {
    right: 0;
  }
}

/* Celular: rolagem lateral, como o NÃºcleo JurÃ­dico */
@media (max-width: 760px) {
  .principais-socios .principais-socios-carousel {
    padding: 0;
  }

  .principais-socios .profissionais-carousel-arrow {
    display: none;
  }

  .principais-socios .profissionais-carousel-viewport {
    overflow-x: auto;
    padding-bottom: 10px;

    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .principais-socios .profissionais-carousel-viewport::-webkit-scrollbar {
    display: none;
  }

  .principais-socios .principais-socios-grid {
    transform: none !important;
  }

  .principais-socios .profissional-image-card {
    flex: 0 0 min(74vw, 230px);
    height: 300px;
  }
}

/* ==============================
   AJUSTES FINAIS - PROFISSIONAIS
============================== */

@media (min-width: 901px) {
  .principais-socios .principais-socios-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .principais-socios .profissionais-carousel-viewport,
  .nucleo-juridico .profissionais-carousel-viewport {
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .principais-socios .profissional-image-card,
  .nucleo-juridico .profissional-image-card {
    scroll-snap-align: start;
  }
}

