/* ================================================================
   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;
  }

  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;
    min-height: 3.25rem !important;
    padding: 0.875rem 1.25rem !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }
}
