/*
  public.css — Propensiq: base compartilhada por toda página pública
  (visitante deslogado, sem sidebar/app-shell) - hoje a landing ("/",
  ADR-063) e "Como funciona" ("/como-funciona", ADR-064); preparado para
  qualquer página pública futura. Consome tokens.css/base.css (cor,
  tipografia, .button/.button--primary) - aqui só o reset de página
  padrão + o cabeçalho público compartilhado (templates/_public_header.html).
  Estilo específico de cada página (hero, narrativa, etc.) vive no CSS
  próprio dela (landing.css, como_funciona_publica.css).
*/

body.public-page {
  min-width: 0;
}

/* Quebra de linha dos títulos e textos das páginas públicas (11.3.16,
   adenda de 05/10/2026 ao ADR-065): sem palavra sozinha na última linha.
   Só o ponto da quebra muda - fonte, tamanho e cor ficam nos CSS de cada
   página. */
.landing-hero__headline,
.landing-transition__headline,
.landing-contact__title,
.cf-intro__headline,
.cf-step__title {
  text-wrap: balance;
}

.landing-hero__subtext,
.landing-transition__text,
.landing-contact__text,
.cf-intro__text,
.cf-step__text {
  text-wrap: pretty;
}

.public-header {
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
}

.public-header__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.public-header__logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.public-header__wordmark {
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  color: var(--color-navy);
  letter-spacing: -0.01em;
}

.public-header__wordmark-accent {
  color: var(--color-teal);
}

.public-header__nav {
  display: flex;
  align-items: center;
  gap: 24px;
}

.public-header__link {
  font-size: 14px;
  font-weight: var(--font-weight-medium);
  color: var(--color-slate);
}

.public-header__link:hover {
  color: var(--color-navy);
}

.public-footer {
  padding: 28px 24px;
  text-align: center;
}

.public-footer__text {
  font-size: 13px;
  color: var(--color-light-slate);
}

@media (max-width: 420px) {
  .public-header__inner {
    padding: 16px;
  }

  .public-header__nav {
    gap: 12px;
  }

  .public-header__wordmark {
    font-size: 16px;
  }
}
