/* Apresentação pública, antes da autenticação. */
body:has(#apresentacao.is-active) { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; }
body:has(#apresentacao.is-active) .app-header { flex-shrink: 0; }
.app-main:has(#apresentacao.is-active) { display: flex; flex: 1; flex-direction: column; max-width: none; padding: 0; width: 100%; }
body:has(#apresentacao.is-active) .wizard-progress { display: none; }
body:has(#apresentacao.is-active) .app-header__status { display: none; }
#apresentacao { background: #0b2035; border: 0; border-radius: 0; box-shadow: none; color: #fff; overflow: hidden; padding: 0; }
#apresentacao.is-active { display: flex; flex: 1; flex-direction: column; }
#apresentacao::before { display: none; }
.landing__hero { align-items: center; background: radial-gradient(ellipse at 80% 10%, #103e53 0, transparent 60%); display: flex; flex: 1; min-height: 570px; overflow: hidden; padding: 4.5rem 1.5rem; position: relative; }
.landing__globe { height: 780px; left: calc(50% - 950px); max-width: none; pointer-events: none; position: absolute; top: -75px; width: 780px; }
.landing__content { margin: auto; max-width: 750px; position: relative; text-align: center; }
.landing__eyebrow { color: #8bcedd; font-size: .72rem; font-weight: 600; letter-spacing: .18em; margin: 0 0 1.8rem; }
.landing__icon { display: block; height: 152px; margin: 0 auto 1rem; object-fit: contain; width: 152px; }
.landing h1 { color: #fff; font-size: clamp(3.2rem, 7vw, 5rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.12; margin: 0; }
.landing__signature { color: #d2e5ed; font-size: 1.25rem; margin: 1rem 0 1.5rem; }
.landing__description { color: #cfdae4; font-size: 1.05rem; line-height: 1.8; margin: 0 auto; max-width: 610px; }
.landing__actions { display: flex; flex-wrap: wrap; gap: .9rem; justify-content: center; margin-top: 2rem; }
.landing__actions .button { border-radius: 6px; min-width: 160px; padding: .85rem 1.6rem; }
.landing__actions .button--primary { background: #1677ce; color: #fff; }
.landing__actions .button--primary:hover { background: #1264af; }
.landing__actions .button:focus-visible { outline: 3px solid #8ddff0; outline-offset: 4px; }
.landing__topnav { align-items: center; display: flex; gap: 1rem; margin-right: auto; }
.landing__topnav[hidden] { display: none; }
.landing__footer { background: #fff; border-top: 1px solid var(--cinza-300); flex-shrink: 0; }
.landing__links { display: flex; flex-wrap: wrap; gap: .5rem 2rem; justify-content: center; margin: 0 auto; max-width: 1120px; padding: .3rem 1.5rem; }
.landing__links button, .landing__topnav button { background: transparent; border: 0; border-radius: 4px; color: var(--cinza-700); cursor: pointer; font-size: .95rem; padding: .65rem .5rem; }
.landing__links button:hover, .landing__topnav button:hover { background: var(--azul-100); color: var(--azul-800); text-decoration: underline; text-underline-offset: 5px; }
.landing__links button:focus-visible, .landing__topnav button:focus-visible { outline: 2px solid var(--azul-600); outline-offset: 4px; }
body:has(.pagina-institucional.is-active) .wizard-progress { display: none; }
.pagina-institucional { margin: 0 auto; max-width: 860px; }
.pagina-institucional .pagina-institucional__marca { color: #12508f; font-size: .7rem; font-weight: 700; letter-spacing: .12em; margin-top: 0; }
.pagina-institucional > h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); margin-top: .5rem; }
.pagina-institucional h3 { margin-top: 1.8rem; }
.pagina-institucional .actions { margin-top: 2.5rem; }
@media (max-width: 700px) {
  .app-header__content:has(.landing__topnav:not([hidden])) { flex-wrap: wrap; gap: .5rem; padding-top: .5rem; }
  .landing__topnav { flex-basis: 100%; order: 3; }
  .landing__hero { min-height: auto; padding: 3rem 1.5rem; }
  .landing__globe { left: -400px; opacity: .5; }
  .landing__eyebrow { font-size: .65rem; letter-spacing: .1em; }
  .landing__links { gap: .5rem 1rem; }
}

/* Planos: cartões de comparação na página pública de preços. */
.app-main:has(#precos.is-active) { max-width: 1240px; }
#precos.pagina-precos { background: transparent; border: 0; border-radius: 0; box-shadow: none; max-width: none; padding: 1rem 0; }
#precos.is-active::before { display: none; }
.precos__introducao { color: var(--cinza-700); font-size: 1.08rem; margin: .5rem 0 2rem; }
.precos__grade { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plano { background: #fff; border: 1px solid #bcc5ce; display: flex; flex-direction: column; min-width: 0; padding: 2rem; }
.plano__icone { color: #142a3b; display: block; flex-shrink: 0; height: 46px; margin-bottom: 1.5rem; width: 46px; }
#precos .plano h3 { color: #101a26; font-size: 1.45rem; line-height: 1.25; margin: 0 0 .65rem; }
.plano__proposta { color: var(--cinza-700); font-size: .9rem; line-height: 1.55; margin: 0; min-height: 2.8rem; }
.plano__valor { color: #12508f; font-size: 1.75rem; font-weight: 600; letter-spacing: -.035em; line-height: 1.3; margin: 1.25rem 0 1.5rem; }
.plano__destaques { font-size: .92rem; line-height: 1.75; margin: 0 0 1.5rem; padding-left: 1.15rem; }
.plano__destaques li { margin-bottom: .25rem; padding-left: .15rem; }
.plano__descricao { color: var(--cinza-700); font-size: .92rem; line-height: 1.75; margin: 0 0 2rem; }
.plano__rodape { border-top: 1px solid #c6ccd2; margin-top: auto; padding-top: 1.5rem; }
.plano__rodape .button { background: #0079c1; border: 1px solid #0079c1; border-radius: 0; box-shadow: none; font-size: .95rem; font-weight: 500; min-height: 44px; padding: .7rem 1rem; }
.plano__rodape .button:hover { background: #005e95; border-color: #005e95; }
.plano__rodape .button:focus-visible { outline: 3px solid #12508f; outline-offset: 4px; }
.precos__nota { color: var(--cinza-700); font-size: .88rem; margin: 1.5rem 0 0; }
@media (max-width: 1000px) { .precos__grade { gap: 1rem; } .plano { padding: 1.4rem; } }
@media (max-width: 760px) {
  .precos__grade { grid-template-columns: minmax(0, 1fr); }
  .plano { padding: 1.75rem; }
  .plano__proposta { min-height: 0; }
  .plano__rodape .button { width: 100%; }
}
