/* ================================================================
   Regularize Consultoria — CSS separado (rascunho técnico)
   ----------------------------------------------------------------
   Gerado a partir de assets/css/custom.css para a fase de separação.
   Não substitui custom.css/custom.min.css automaticamente.
   Preserve a ordem de carregamento indicada no README antes de usar.
   ================================================================ */

/* ---------- 11. Páginas Equipe e Serviços: estrutura base e responsividade ---------- */
.team-card-list {
  padding-left: 1.5rem;
}

.team-overview-grid,
.team-work-grid,
.team-fronts-grid,
.team-direction-grid {
  align-items: stretch;
}

.team-people-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.team-people-column {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-content: start;
}

.team-person-card {
  height: auto;
}

@media (max-width: 639px) {
  .team-hero-section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .team-hero-content > h1 {
    margin-bottom: 0.625rem;
  }

  .team-hero-content > p {
    line-height: 1.55;
  }

  .team-person-card > div:first-child,
  .team-work-grid > article > div:first-child {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .team-people-layout,
  .team-people-column {
    gap: 1rem;
  }

  .team-person-card {
    padding: 1rem;
  }

  .team-person-card > div:first-child {
    gap: 0.6rem;
    margin-bottom: 0.85rem;
  }

  .team-person-card > div:first-child .w-12.h-12 {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 0.72rem;
  }

  .team-person-card > div:first-child p {
    font-size: 0.75rem;
    line-height: 1.25;
  }

  .team-overview-section {
    padding-bottom: 1.5rem;
  }

  .team-overview-section > div > div:first-child h2,
  .team-work-section > div > div:first-child h2,
  .team-fronts-section > div > div:first-child h2 {
    font-size: 1.5rem;
    line-height: 1.22;
    margin-bottom: 0.5rem;
  }

  .team-overview-section > div > div:first-child p,
  .team-work-section > div > div:first-child p,
  .team-fronts-section > div > div:first-child p {
    font-size: 0.9rem;
    line-height: 1.45;
    max-width: 34rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .team-work-section {
    padding-top: 1.5rem;
  }

  .team-fronts-section {
    padding-top: 2.25rem;
    padding-bottom: 2rem;
  }

  .team-direction-section {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .team-fronts-section > div > div:first-child,
  .team-direction-section > div > div:first-child {
    margin-bottom: 1.5rem;
  }

  .team-work-grid,
  .team-fronts-grid,
  .team-direction-grid {
    gap: 0.75rem;
  }

  .team-work-grid > article,
  .team-fronts-grid > article,
  .team-direction-card {
    padding: 1rem;
  }

  .team-person-card h3,
  .team-work-grid > article h3,
  .team-work-grid > article > div:first-child p,
  .team-direction-card h2 {
    text-align: center;
  }

  .team-person-card .team-card-list {
    width: calc(100% - 0.25rem);
    max-width: 19.5rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    font-size: 0.8rem;
    line-height: 1.34;
  }

  .team-person-card .team-card-list > li {
    gap: 0.38rem;
  }

  .team-person-card .team-card-list > li:not([hidden]) ~ li:not([hidden]) {
    margin-top: 0.32rem;
    margin-bottom: 0;
  }

  .team-work-grid > article > div:first-child {
    gap: 0.5rem;
    margin-bottom: 0.75rem;
  }

  .team-work-grid > article > div:first-child .w-16.h-16 {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
  }

  .team-work-grid > article > div:first-child .w-16.h-16 svg {
    width: 1.1rem;
    height: 1.1rem;
  }

  .team-work-grid > article h3 {
    font-size: 1.0625rem;
    line-height: 1.25;
  }

  .team-work-grid > article > div:first-child p {
    font-size: 0.75rem;
    line-height: 1.3;
  }

  .team-work-grid > article > p.text-slate-500.text-sm.leading-relaxed {
    margin-bottom: 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.4;
  }

  .team-work-grid > article h4 {
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.3;
  }

  .team-work-grid > article ul.text-sm {
    font-size: 0.8125rem;
    line-height: 1.4;
  }

  .team-work-grid > article ul.text-sm > li {
    gap: 0.35rem;
  }

  .team-work-grid > article ul.text-sm > li + li {
    margin-top: 0.35rem;
  }

  .team-work-grid > article > p,
  .team-work-grid > article ul,
  .team-direction-card p {
    line-height: 1.5;
  }

  .team-fronts-grid > article {
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .team-fronts-grid h3,
  .team-fronts-grid p {
    text-align: center;
  }

  .team-fronts-grid p {
    font-size: 0.8125rem;
    line-height: 1.45;
  }

  .team-fronts-grid h3 {
    margin-bottom: 0.5rem;
    font-size: 1rem;
    line-height: 1.25;
  }

  .team-direction-card > div:first-child {
    width: 2.5rem;
    height: 2.5rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.625rem;
  }

  .team-direction-card > div:first-child svg {
    width: 1.1rem;
    height: 1.1rem;
  }

  .team-direction-card h2 {
    font-size: 1.2rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
  }

  .team-direction-card p {
    font-size: 0.9rem;
    line-height: 1.42;
  }
}

.team-overview-grid > article,
.team-work-grid > article,
.team-fronts-grid > article,
.team-direction-grid > div {
  height: 100%;
}

.services-grid {
  align-items: stretch;
}

.services-grid > article {
  height: 100%;
}

@media (min-width: 640px) and (max-width: 767px) {
  .team-overview-grid,
  .team-work-grid,
  .team-fronts-grid,
  .team-direction-grid {
    max-width: 34rem;
    margin-left: auto;
    margin-right: auto;
  }

  .team-overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .services-hero-section {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  .services-list-section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .services-grid {
    max-width: 30rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 640px) and (max-width: 1279px) {
  .team-hero-content {
    margin-left: clamp(0.5rem, 2vw, 2rem);
  }

  .team-hero-content p {
    max-width: 48rem;
  }

  .team-overview-section {
    padding-top: 3rem;
    padding-bottom: 2.25rem;
  }

  .team-overview-grid {
    align-items: flex-start;
  }

  .team-overview-grid > article {
    height: auto;
  }

  .team-work-section {
    padding-top: 2.25rem;
    padding-bottom: 3.5rem;
  }

  .team-work-section > div > div:first-child {
    margin-bottom: 2.5rem;
  }

  .team-fronts-section,
  .team-direction-section {
    padding-top: 3.25rem;
    padding-bottom: 3.5rem;
  }

  .team-direction-grid {
    gap: 0.875rem;
  }

  .team-direction-card {
    padding: 1.25rem;
  }

  .team-direction-card > div:first-child {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.75rem;
  }

  .team-direction-card h2 {
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.25;
    margin-bottom: 0.625rem;
  }

  .team-direction-card p {
    text-align: left;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .services-grid > article > div:first-child {
    margin-left: auto;
    margin-right: auto;
  }

  .services-grid h3,
  .services-grid p {
    text-align: center;
  }

  .services-hero-section p {
    max-width: 48rem;
  }

  .services-hero-content {
    margin-left: clamp(0.5rem, 2vw, 2rem);
  }

  .services-grid ul {
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
  }

  .services-grid li {
    align-items: flex-start;
    gap: 0.625rem;
  }

  .services-grid li svg {
    margin-top: 0.125rem;
  }
}

@media (min-width: 768px) {
  .team-people-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .team-card-list {
    font-size: 0.8125rem;
    line-height: 1.45;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .team-work-grid {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    gap: 1rem;
  }

  .team-overview-grid {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    gap: 1rem;
  }

  .team-people-column {
    gap: 1rem;
  }

  .team-fronts-grid {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .team-direction-grid {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .services-hero-section {
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }

  .services-list-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .services-grid {
    max-width: 54rem;
    margin-left: auto;
    margin-right: auto;
    gap: 1rem;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .team-hero-section {
    padding-top: clamp(2.625rem, 5vw, 3rem);
    padding-bottom: clamp(2.625rem, 5vw, 3rem);
  }

  .team-hero-content > h1 {
    margin-bottom: 0.625rem;
  }

  .team-hero-content > p {
    line-height: 1.48;
  }

  .team-overview-section > div > div:first-child p,
  .team-work-section > div > div:first-child p,
  .team-fronts-section > div > div:first-child p {
    max-width: 36rem;
  }

  .team-fronts-section > div > div:first-child {
    margin-bottom: 2.5rem;
  }

  .team-people-layout {
    gap: 1rem;
  }

  .team-person-card {
    padding: 1.25rem;
  }

  .team-person-card > div:first-child {
    margin-bottom: 0.875rem;
    gap: 0.625rem;
  }

  .team-card-list {
    padding-left: 1.125rem;
  }

  .team-card-list > li {
    line-height: 1.42;
  }

  /* Ajustes sutis de espaçamento entre seções apenas em tablet/meia tela */
  .team-overview-section {
    padding-top: 2.5rem; /* 40px */
    padding-bottom: 1.75rem; /* 28px */
  }

  .team-work-section {
    padding-top: 1.5rem; /* 24px */
    padding-bottom: 2.5rem; /* 40px */
  }

  .team-fronts-section {
    padding-top: 2rem; /* 32px */
    padding-bottom: 2rem; /* 32px */
  }

  .team-direction-section {
    padding-top: 2rem; /* 32px */
    padding-bottom: 2rem; /* 32px */
  }

  .team-overview-section .text-center,
  .team-work-section .text-center,
  .team-fronts-section .text-center {
    margin-bottom: 1.75rem; /* 28px, reduzido de 40px */
  }
}

@media (min-width: 820px) and (max-width: 1023px) {
  .team-fronts-grid > article {
    padding: 1.125rem 1.25rem;
  }

  .team-fronts-grid > article h3 {
    margin-bottom: 0.625rem;
  }

  .team-fronts-grid > article p {
    line-height: 1.32;
  }

  .team-work-grid > article {
    padding: 1.125rem;
  }

  .team-work-grid > article > div:first-child {
    gap: 0.7rem;
    margin-bottom: 0.75rem;
  }

  .team-work-grid > article > div:first-child .w-16.h-16 {
    width: 3.25rem;
    height: 3.25rem;
  }

  .team-work-grid > article > div:first-child .w-16.h-16 svg {
    width: 1.375rem;
    height: 1.375rem;
  }

  .team-work-grid > article > p.text-slate-500.text-sm.leading-relaxed {
    margin-bottom: 0.75rem;
    line-height: 1.5;
  }

  .team-work-grid > article h4 {
    margin-bottom: 0.625rem;
  }

  .team-work-grid > article ul.text-sm {
    line-height: 1.42;
  }

  .team-direction-card {
    padding: 1rem 1.125rem;
  }

  .team-direction-card > div:first-child {
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 0.625rem;
  }

  .team-direction-card > div:first-child svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .team-direction-card h2 {
    margin-bottom: 0.5rem;
  }

  .team-direction-card p {
    line-height: 1.52;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .team-hero-section {
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }

  .team-direction-card h2 {
    font-size: 1.625rem;
  }

  .team-overview-grid {
    max-width: 62rem;
    margin-left: auto;
    margin-right: auto;
    gap: 1.5rem;
  }

  .team-people-column {
    gap: 1.25rem;
  }

  .team-fronts-grid {
    max-width: 62rem;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-hero-section {
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }

  .services-list-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .services-grid {
    max-width: 62rem;
    margin-left: auto;
    margin-right: auto;
    gap: 1.5rem;
  }
}

/* ---------- 21. Camada final aprovada: Equipe/Serviços — CTA institucional ---------- */
:root {
  --rc-cta-equipe-servicos-v1-20260610: 1;
}

/* Mantém o mesmo padrão visual aprovado na Home/Sobre,
   escopado apenas para as páginas Equipe e Serviços. */
@media (min-width: 768px) and (max-width: 1279px) {
  body:has(.team-hero-section) .institutional-cta-section,
  body:has(.services-hero-section) .institutional-cta-section {
    padding-top: clamp(2.5rem, 5vw, 3.25rem) !important;
    padding-bottom: clamp(2.5rem, 5vw, 3rem) !important;
  }

  body:has(.team-hero-section) .institutional-cta-section h2,
  body:has(.services-hero-section) .institutional-cta-section h2 {
    margin-bottom: 0.75rem !important;
    line-height: 1.12 !important;
  }

  body:has(.team-hero-section) .institutional-cta-section p,
  body:has(.services-hero-section) .institutional-cta-section p {
    max-width: 42rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 2rem !important;
    line-height: 1.55 !important;
  }

  body:has(.team-hero-section) .institutional-cta-section .flex.flex-col.sm\:flex-row,
  body:has(.services-hero-section) .institutional-cta-section .flex.flex-col.sm\:flex-row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 1rem !important;
    max-width: 42rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Altura, padding, linha e fonte dos botões: assets/css/botoes.css (desde 23/10/2026). */
  body:has(.team-hero-section) .institutional-cta-section .flex.flex-col.sm\:flex-row > a,
  body:has(.services-hero-section) .institutional-cta-section .flex.flex-col.sm\:flex-row > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 18.5rem !important;
    width: auto !important;
    text-align: center !important;
  }
}

/* ---------- Serviços: texto fora da coluna dos controles flutuantes ---------- */
/* Mesma conta de pages/home.css, só na página de Serviços (Equipe também
   carrega esta folha). A reserva soma max(1.5rem, safe-area), o botão
   (2.75rem até 640px, 3rem acima) e 0.5rem de folga, menos o recuo do
   container e, nos cards, a borda de 1px e o padding. Até 639px a reserva
   fica à direita do texto e o card mantém a largura; de 640px em diante os
   blocos centralizados encolhem por igual dos dois lados, e o max-width de
   cada um continua valendo. As faixas de largura vêm da medição de cada
   bloco. O rodapé fica de fora. */
body:has(.services-hero-section) {
  --servicos-faixa-controles: calc(max(1.5rem, env(safe-area-inset-right, 0px)) + 3rem + 0.5rem);
  --servicos-recuo-container: 1rem;
  --servicos-recuo-card: 1.5rem;
  --servicos-reserva: calc(var(--servicos-faixa-controles) - var(--servicos-recuo-container));
}

@media (max-width: 640px) {
  body:has(.services-hero-section) {
    --servicos-faixa-controles: calc(max(1.5rem, env(safe-area-inset-right, 0px)) + 2.75rem + 0.5rem);
  }
}

@media (min-width: 640px) {
  body:has(.services-hero-section) {
    --servicos-recuo-container: 1.5rem;
  }
}

@media (min-width: 1024px) {
  body:has(.services-hero-section) {
    --servicos-recuo-container: 2rem;
    --servicos-recuo-card: 2rem;
  }
}

@media (max-width: 639px) {
  .services-hero-section .institutional-hero-lead,
  .services-list-section > div > div:first-child,
  body:has(.services-hero-section) .institutional-cta-section > div > :is(h2, p) {
    padding-right: var(--servicos-reserva);
  }

  /* Cards: borda de 1px e padding de 1.25rem (p-5). */
  .services-grid > article {
    padding-right: calc(var(--servicos-reserva) - 1px);
  }
}

/* O 100% é a largura útil do container, sem margem abaixo de 1280px: a
   regra segue certa com barra de rolagem clássica e não muda nada onde o
   max-width já deixa o texto longe da coluna. */
@media (min-width: 640px) and (max-width: 1279px) {
  .services-list-section > div > div:first-child > p {
    width: calc(100% - 2 * var(--servicos-reserva));
  }
}

@media (min-width: 640px) and (max-width: 767px) {
  /* Sem largura para os dois botões lado a lado, o segundo desce. */
  body:has(.services-hero-section) .institutional-cta-section .flex.flex-col.sm\:flex-row {
    flex-wrap: wrap;
    width: calc(100% - 2 * var(--servicos-reserva));
    margin-inline: auto;
  }
}

/* O container do CTA (48rem) ganha margem quando a largura útil passa de
   768px e afasta o texto a partir de 880px úteis. A regra vai até 899px de
   janela para cobrir a barra de rolagem clássica; sem ela, de 880 a 899px a
   reserva sobra. */
@media (min-width: 640px) and (max-width: 899px) {
  body:has(.services-hero-section) .institutional-cta-section > div > :is(h2, p) {
    width: calc(100% - 2 * var(--servicos-reserva));
    margin-inline: auto;
  }
}

/* Cards: borda de 1px e padding de 1.5rem (sm:p-6) ou 2rem (lg:p-8). De 1280
   a 1359px a conta não desconta a margem do container, que depende da
   largura sem a barra de rolagem; a sobra some em 1360px. */
@media (min-width: 768px) and (max-width: 1359px) {
  .services-grid {
    width: calc(100% - 2 * max(0px, var(--servicos-reserva) - 1px - var(--servicos-recuo-card)));
    margin-left: auto;
    margin-right: auto;
  }
}

/* ---------- Equipe: conteúdo fora da coluna dos controles flutuantes ---------- */
/* Só a página Equipe (classes team-* e body:has(.team-hero-section)); as
   regras de Serviços acima ficam como estão. A faixa soma max(1.5rem,
   safe-area), o botão (2.75rem até 640px, 3rem acima) e 0.5rem de folga,
   contada da borda direita da largura útil. Cada seção é contêiner de
   consulta: 100cqw é a largura útil (sem a barra de rolagem clássica) e
   (100cqw - 100%) / 2 é o que já existe entre o bloco de referência (o 100%)
   e a borda: recuo e margem do container. A reserva de um bloco de texto é a
   faixa menos esse trecho, nunca negativa; nos cards, a borda de 1px e o
   padding horizontal do card também contam.
   Até 639px a reserva fica à direita (o texto ou o padding do card) e os
   cards mantêm a largura. De 640px em diante, os blocos e as grades
   centralizados encolhem por igual dos dois lados, e o max-width de cada
   faixa continua valendo; o herói, alinhado à esquerda, recua só à direita.
   Onde a coluna já fica fora, as contas dão zero. O rodapé fica de fora. */
body:has(.team-hero-section) {
  --equipe-faixa: calc(max(1.5rem, env(safe-area-inset-right, 0px)) + 3rem + 0.5rem);
  --equipe-folga: calc((100cqw - 100%) / 2);
  --equipe-reserva: max(0px, calc(var(--equipe-faixa) - var(--equipe-folga)));
  /* Recuo dos containers (px-4 sm:px-6 lg:px-8) e padding horizontal de cada
     tipo de card, como definido acima e nas classes do HTML: pessoas
     (p-5 sm:p-6), trabalho (p-5 sm:p-6 lg:p-8), frentes (p-5 sm:p-6) e
     direção (p-5 sm:p-7 md:p-10). */
  --equipe-recuo: 1rem;
  --equipe-pad-pessoa: 1rem;
  --equipe-pad-trabalho: 1rem;
  --equipe-pad-frentes: 1rem;
  --equipe-pad-direcao: 1rem;
}

@media (max-width: 640px) {
  body:has(.team-hero-section) {
    --equipe-faixa: calc(max(1.5rem, env(safe-area-inset-right, 0px)) + 2.75rem + 0.5rem);
  }
}

@media (min-width: 640px) {
  body:has(.team-hero-section) {
    --equipe-recuo: 1.5rem;
    --equipe-pad-pessoa: 1.25rem;
    --equipe-pad-trabalho: 1.5rem;
    --equipe-pad-frentes: 1.5rem;
    --equipe-pad-direcao: 1.25rem;
  }
}

@media (min-width: 820px) and (max-width: 1023px) {
  body:has(.team-hero-section) {
    --equipe-pad-trabalho: 1.125rem;
    --equipe-pad-frentes: 1.25rem;
    --equipe-pad-direcao: 1.125rem;
  }
}

@media (min-width: 1024px) {
  body:has(.team-hero-section) {
    --equipe-recuo: 2rem;
    --equipe-pad-pessoa: 1.5rem;
    --equipe-pad-trabalho: 2rem;
    --equipe-pad-frentes: 1.5rem;
  }
}

@media (min-width: 1280px) {
  body:has(.team-hero-section) {
    --equipe-pad-direcao: 2.5rem;
  }
}

.team-hero-section,
.team-overview-section,
.team-work-section,
.team-fronts-section,
.team-direction-section,
body:has(.team-hero-section) .institutional-cta-section {
  container-type: inline-size;
}

/* Herói: o container (80rem) tem margem só a partir de 1280px; de 640 a
   1279px a margem esquerda é fixa e a direita é zero. */
.team-hero-content {
  padding-right: max(var(--equipe-recuo), calc(var(--equipe-faixa) - max(0px, (100cqw - 80rem) / 2)));
}

/* Abaixo de 640px a fileira de botões do CTA já recua pela regra de
   components.css (a mesma faixa, menos o recuo de 1rem do container). */
@media (max-width: 639px) {
  .team-overview-section > div > div:first-child,
  .team-overview-section > div > p,
  .team-work-section > div > div:first-child,
  .team-fronts-section > div > div:first-child,
  body:has(.team-hero-section) .institutional-cta-section > div > :is(h2, p) {
    padding-right: var(--equipe-reserva);
  }

  /* Cards em uma coluna: o 100% é a coluna da grade, centralizada. Os de
     frentes têm até 22rem, centralizados na coluna. */
  .team-person-card,
  .team-work-grid > article,
  .team-direction-card {
    padding-right: max(1rem, calc(var(--equipe-faixa) - var(--equipe-folga) - 1px));
  }

  .team-fronts-grid > article {
    padding-right: max(1rem, calc(var(--equipe-faixa) - (100cqw - min(100%, 22rem)) / 2 - 1px));
  }
}

@media (min-width: 640px) {
  .team-overview-section > div > div:first-child,
  .team-overview-section > div > p,
  .team-work-section > div > div:first-child,
  .team-fronts-section > div > div:first-child,
  body:has(.team-hero-section) .institutional-cta-section > div > :is(h2, p) {
    width: calc(100% - 2 * var(--equipe-reserva));
    margin-inline: auto;
  }

  /* A grade encolhe pelos dois lados só o que falta depois da borda e do
     padding do card da ponta. */
  .team-people-layout {
    width: calc(100% - 2 * max(0px, var(--equipe-faixa) - var(--equipe-folga) - 1px - var(--equipe-pad-pessoa)));
    margin-inline: auto;
  }

  .team-work-grid {
    width: calc(100% - 2 * max(0px, var(--equipe-faixa) - var(--equipe-folga) - 1px - var(--equipe-pad-trabalho)));
    margin-inline: auto;
  }

  .team-fronts-grid {
    width: calc(100% - 2 * max(0px, var(--equipe-faixa) - var(--equipe-folga) - 1px - var(--equipe-pad-frentes)));
    margin-inline: auto;
  }

  .team-direction-grid {
    width: calc(100% - 2 * max(0px, var(--equipe-faixa) - var(--equipe-folga) - 1px - var(--equipe-pad-direcao)));
    margin-inline: auto;
  }

  /* Botões do CTA: a fileira encolhe e, sem largura para os dois lado a
     lado, o segundo desce para a linha de baixo. */
  body:has(.team-hero-section) .institutional-cta-section .flex.flex-col.sm\:flex-row {
    width: calc(100% - 2 * var(--equipe-reserva));
    margin-inline: auto;
    flex-wrap: wrap;
  }
}
