/* Geist Variable: ampliar o range de pesos para cobrir 100-900 (era 400-700 no main.css) */
@font-face {
  font-family: "Geist";
  src: url("../fonts/Geist-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Overrides para conteúdo gerado pelo editor Quill */

/* Tabela dentro do callout--table (Quill produz <table> sem classe) */
.expertise__callout--table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.expertise__callout--table table thead tr {
  border-bottom: 1px solid #d1d9f0;
}
.expertise__callout--table table thead tr th {
  text-align: left;
  font-weight: 600;
  color: #1e3a5f;
  padding: 10px 12px 10px 0;
  white-space: nowrap;
}
.expertise__callout--table table tbody tr {
  border-bottom: 1px solid #e8ecf7;
}
.expertise__callout--table table tbody tr td {
  padding: 12px 12px 12px 0;
  color: #4a5565;
}
.expertise__callout--table table tbody tr:last-child {
  border-bottom: none;
}

/* Texto introdutório quando vem como HTML do Quill */
.expertise__intro p,
.expertise__intro div {
  font-size: 18px;
  font-weight: 300;
  line-height: 29.25px;
  color: #4a5565;
  margin: 0 0 16px 0;
}
.expertise__intro p:last-child,
.expertise__intro div:last-child {
  margin-bottom: 0;
}

/* Audience desc do Quill */
.audience__desc p,
.audience__desc div {
  margin: 0;
}

/* Header sub: Quill envolve o conteúdo num <p> com margem default */
.header__sub > p,
.header__sub > div {
  margin: 0;
}

/* Callout heading do Quill */
.callout__heading > p,
.callout__heading > div {
  margin: 0;
  display: inline;
}

/* Callout list quando vem do Quill (lista <ul>/<ol> com margens) */
.callout__list > ul,
.callout__list > ol,
.callout__list--cols > ul,
.callout__list--cols > ol {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

/* Sobre — título do bloco "Quem Somos" deve quebrar mesmo sem <br> manual */
.about__about .about__content .heading .title {
  max-width: 380px;
}
.about__about .about__content .heading .title > p,
.about__about .about__content .heading .title > div {
  margin: 0;
}
.about__about .about__content .desc > p,
.about__about .about__content .desc > div {
  margin: 0 0 12px 0;
}
.about__about .about__content .desc > p:last-child,
.about__about .about__content .desc > div:last-child {
  margin-bottom: 0;
}

/* Cards de diferenciais e filosofia: títulos/descrições do Quill */
.diff__card .diff__title > p,
.diff__card .diff__title > div,
.phil__card .phil__title > p,
.phil__card .phil__title > div {
  margin: 0;
}
.diff__card .diff__desc > p,
.diff__card .diff__desc > div,
.phil__card .phil__desc > p,
.phil__card .phil__desc > div {
  margin: 0 0 8px 0;
}
.diff__card .diff__desc > p:last-child,
.phil__card .phil__desc > p:last-child {
  margin-bottom: 0;
}

/* Filosofia: lista do Quill no card "Valores" */
.phil__card .phil__desc ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

/* Filosofia: heading título quando vem do Quill */
.about__philosophy .heading .title > p,
.about__philosophy .heading .title > div {
  margin: 0;
}

/* Home/Sobre: bloco de destaques de áreas — dark teal com textura igual à seção de Atuação */
.home__highlights {
  background: #0D3B3E url("../img/expertise-background.png");
  padding: 80px 0;
  position: relative;
}
.home__highlights::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(8, 147, 153, 0.4) 50%, transparent 100%);
}
.home__highlights .wrapper {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: center;
}
.home__highlights .highlights__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 80px;
  width: 100%;
}
.home__highlights .highlight__card {
  background: rgba(8, 147, 153, 0.06);
  border: 1px solid rgba(8, 147, 153, 0.18);
  border-left: 3px solid #089399;
  border-radius: 8px;
  padding: 32px 36px;
  position: relative;
  overflow: hidden;
}
.home__highlights .highlight__card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle at top right, rgba(8, 147, 153, 0.12) 0%, transparent 70%);
  pointer-events: none;
}
.home__highlights .highlight__title {
  color: #FFF;
  font-family: "Geist", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.3px;
  margin: 0 0 20px 0;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(8, 147, 153, 0.25);
  position: relative;
}
.home__highlights .highlight__title::before {
  content: "ÁREA DE ATUAÇÃO";
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.6px;
  color: #089399;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.home__highlights .highlight__body,
.home__highlights .highlight__body * {
  color: rgba(245, 245, 245, 0.82) !important;
}
.home__highlights .highlight__body {
  font-family: "Geist", sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
}
.home__highlights .highlight__body > p:first-child {
  font-size: 14.5px;
  margin-bottom: 18px;
  font-weight: 400;
}
.home__highlights .highlight__body p {
  margin: 0 0 14px 0;
}
.home__highlights .highlight__body p:last-child {
  margin-bottom: 0;
}
.home__highlights .highlight__body ul {
  margin: 0;
  padding: 0;
  list-style: none;
  column-count: 2;
  column-gap: 32px;
}
.home__highlights .highlight__body ul li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 10px;
  font-size: 13.5px;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}
.home__highlights .highlight__body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #089399 !important;
}
.home__highlights .highlight__body ul li:last-child {
  margin-bottom: 0;
}
.home__highlights .button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #089399;
  color: #FFF;
  padding: 14px 28px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  transition: background .2s;
}
.home__highlights .button:hover {
  background: #0AA8AE;
}
.home__highlights .button img {
  height: 14px;
  filter: brightness(0) invert(1);
}
@media (max-width: 900px) {
  .home__highlights .highlight__body ul {
    column-count: 1;
  }
}
@media (max-width: 768px) {
  .home__highlights {
    padding: 48px 0;
  }
  .home__highlights .highlights__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .home__highlights .highlight__card {
    padding: 22px 24px;
  }
}

/* CTA da home: espaço entre o título e o botão (quando não há subtítulo) */
.layout__cta .wrapper .content .title {
  margin-bottom: 24px;
}

/* Carreiras: reduzir espaço entre parágrafos do .careers__desc */
.about__careers .careers__info .careers__desc {
  margin-bottom: 12px;
}
.about__careers .careers__info .careers__desc:last-of-type {
  margin-bottom: 0;
}

/* Footer: tagline com título + subtítulo */
.layout__footer .footer__main .wrapper .brand .brand__tagline--title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1.35;
}

/* Footer: bloco de escritórios — cidade em destaque + endereço pequeno embaixo */
.layout__footer .footer__main .links .links__group .group__nav .footer__escritorio {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 12px;
  line-height: 1.35;
}
.layout__footer .footer__main .links .links__group .group__nav .footer__escritorio:last-child {
  margin-bottom: 0;
}
.layout__footer .footer__main .links .links__group .group__nav .footer__escritorio strong {
  font-weight: 600;
  font-size: 14px;
}
.layout__footer .footer__main .links .links__group .group__nav .footer__escritorio .footer__escritorio-end {
  font-size: 12px;
  opacity: 0.75;
}

/* Cards de estatísticas (home + sobre): limitar a largura do texto pra não invadir o espaço da logo lateral */
.about__statistics .card__text .text,
.home__statistics .card__text .text {
  max-width: 160px;
  display: inline-block;
}

/* Post detalhe: o header é position:fixed (~93px) e a breadcrumb--flat é curta — adicionar espaço pra não ficar atrás */
.layout__breadcrumb--flat {
  padding-top: 140px !important;
}

/* Post detalhe: garantir que o título quebre quando longo */
.post__main .post__header .post__title {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Post: margens dos blocos do artigo */
.post__article > .article__h2 { margin-top: 32px; margin-bottom: 12px; }
.post__article > .article__p,
.post__article > .article__lead { margin: 0 0 16px 0; }
.post__article > .article__list { margin: 0 0 16px 0; padding-left: 20px; }

/* ===== Skip-link (a11y + SEO/GEO) ===== */
.skip-link{position:absolute;left:-9999px;top:auto;z-index:1000;background:#1e3a5f;color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;text-decoration:none}
.skip-link:focus{left:16px;top:16px}
*:focus-visible{outline:2px solid #089399;outline-offset:3px}
