/* Ajustes finais carregados depois da folha principal para evitar que as
   regras do componente de chat sobrescrevam os detalhes de marca. */
.benefit-pill > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0 0 1px;
  font-family: Arial, sans-serif;
}

.oak-avatar {
  overflow: hidden;
  padding: 3px;
  background: color-mix(in oklch, var(--primary) 8%, var(--surface-1));
  border: 1px solid color-mix(in oklch, var(--accent) 75%, var(--border));
  color: transparent;
}

.oak-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Escala tipográfica mobile-first para reduzir quebras excessivas. */
@media (max-width: 639px) {
  .section-title {
    font-size: clamp(1.45rem, 6.5vw, 1.75rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
    text-wrap: balance;
  }

  .section-heading {
    margin-bottom: 1.5rem;
  }

  .section-heading > p:last-child {
    font-size: 0.95rem;
    line-height: 1.55;
  }

  .chat-intro h3 {
    font-size: clamp(1.35rem, 6vw, 1.6rem);
    line-height: 1.15;
    text-wrap: balance;
  }

  .faq-b2b .section-title,
  .contact-section .section-title,
  .copilots-section .section-title {
    max-width: 18ch;
  }
}

@media (min-width: 640px) and (max-width: 899px) {
  .section-title {
    font-size: clamp(1.7rem, 4.5vw, 2.15rem);
    line-height: 1.12;
    text-wrap: balance;
  }
}

/* Em telas grandes, usa a largura realmente disponível. O limite anterior de
   790 px forçava quebras mesmo quando havia espaço vazio dos dois lados. */
@media (min-width: 900px) {
  main > section > .container,
  .cta-final > .container {
    max-width: 1240px;
  }

  .section-heading {
    width: 100%;
    max-width: 1120px;
  }

  .section-heading.centered {
    max-width: 1120px;
  }

  .section-title {
    font-size: clamp(2rem, 2.6vw, 2.3rem);
    line-height: 1.1;
    text-wrap: balance;
  }

  .impact-section .section-title,
  .trust-section .section-title,
  .solution-section .section-title {
    max-width: none;
  }
}

/* Hero em três níveis: mensagem, conexão e benefício alternado. */
.hero-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.b2b-hero .hero-title > .hero-title-line {
  display: block;
  white-space: nowrap;
  color: #24221d;
}

.hero-title .hero-rotator {
  width: 100%;
}

@media (max-width: 420px) {
  .b2b-hero .hero-title > .hero-title-line {
    white-space: normal;
  }

  .hero-title .hero-rotator {
    font-size: 0.75em;
    white-space: nowrap;
  }
}
