/* Complementos da versão estática. Os estilos originais estão em assets/*.css. */
[hidden]{display:none!important}

/* Download do aplicativo, antes do carrossel de vídeos. */
.app-download{
  box-sizing:border-box;
  width:min(100%,880px);
  margin-top:24px;
  padding:40px;
  border:1px solid #86b22740;
  border-radius:24px;
  background:#86b2270d;
  text-align:center;
}
.closing-inner .app-download h2{
  margin:16px 0;
  font-size:clamp(28px,4vw,42px);
  line-height:1.15;
  letter-spacing:-.035em;
}
.app-download-copy p{margin:0;line-height:1.6;font-size:16px}
.app-download-stores{display:grid;grid-template-columns:repeat(2,minmax(0,220px));justify-content:center;gap:16px;margin-top:28px}
.app-store-link{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:0;
  min-height:72px;
  padding:12px 20px;
  border:1px solid #777;
  border-radius:12px;
  background:#080808;
  color:#fff;
  text-decoration:none;
  text-align:left;
}
.app-store-link:hover{background:#242424;border-color:#86b227}
.app-store-link:focus-visible{outline:3px solid #86b227;outline-offset:4px}
.app-store-link svg{display:block;flex:0 0 32px;width:32px;height:36px;max-width:none}
.app-store-link>span{display:block}
.app-store-link small{display:block;font-size:10px;line-height:1.4;letter-spacing:.04em}
.app-store-link strong{display:block;font-size:23px;line-height:1.2;font-weight:600;white-space:nowrap}
@media(max-width:600px){
  .app-download{padding:28px 20px}
  .app-download-stores{grid-template-columns:minmax(0,260px);gap:12px}
  .app-store-link{width:100%}
}

/* Hero: a mídia estava em z-index negativo e o poster só no <video>.
   Se o vídeo não pinta (autoplay bloqueado, reduced-motion, etc.), sobrava
   fundo branco com texto branco. Poster no layer + stacking correto. */
.arvora-opening .ao-media{z-index:0}
.arvora-opening .ao-layer{
  background:#213423 url(/arvora-colheita-poster.jpg) 50%/cover;
}
.arvora-opening .ao-initial-shade{z-index:1}
.arvora-opening .ao-headline,
.arvora-opening .ao-eyebrow,
.arvora-opening .ao-initial-copy,
.arvora-opening .ao-hero-description,
.arvora-opening .ao-explore,
.arvora-opening .ao-continue,
.arvora-opening .ao-play{z-index:2}
@media (prefers-reduced-motion:reduce){
  .arvora-opening .ao-layer video{visibility:hidden}
}

/* Ativos originados no topo da seção da jornada */
#fluxo .origin-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
  max-width:none;
}
#fluxo .origin-heading-copy{max-width:740px;min-width:0}
#fluxo .origin-assets{
  flex-shrink:0;
  text-align:right;
  padding-top:4px;
}
#fluxo .origin-assets p{
  margin:0 0 8px;
  font-size:14px;
  line-height:1.5;
  color:#c5cec3;
}
#fluxo .origin-assets strong{
  display:block;
  font-size:clamp(28px,3vw,40px);
  font-weight:300;
  line-height:1.15;
  letter-spacing:-.025em;
  color:#fff;
}
@media(max-width:760px){
  #fluxo .origin-heading{flex-direction:column;gap:20px}
  #fluxo .origin-assets{text-align:left}
}

/* CTA editorial: fundo claro herdava color:#fff do estilo base */
.editorial-site .editorial-bottom-cta{
  color:var(--editorial-ink,#0a3642);
}
.editorial-site .editorial-bottom-cta h2{
  color:inherit;
}

/* Isola o menu nativo das cores e dimensões da navegação desktop. */
.site-header #mobile-navigation{
  --menu-background:#fff;
  --menu-text:#103c46;
  --menu-border:#d4ded8;
  box-sizing:border-box;
  position:fixed;
  inset:80px 16px auto;
  width:auto;
  background:var(--menu-background);
  color:var(--menu-text);
  padding:16px;
  border:1px solid var(--menu-border);
  border-radius:20px;
  display:grid;
  gap:4px;
  max-height:calc(100dvh - 110px);
  overflow:auto;
  z-index:9999;
  animation:none;
}
html[data-theme="dark"] .site-header #mobile-navigation{
  --menu-background:#101610;
  --menu-text:#f2f3ed;
  --menu-border:#ffffff29;
}
.site-header #mobile-navigation[hidden]{display:none}
.site-header #mobile-navigation a{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:10px 12px;
  color:var(--menu-text);
  font:inherit;
  font-size:16px;
  line-height:1.4;
  white-space:normal;
  text-decoration:none;
  border-radius:10px;
}
.site-header #mobile-navigation a:hover,
.site-header #mobile-navigation a:focus-visible{
  background:#86b22726;
  color:var(--menu-text);
}
.site-header #mobile-navigation a:focus-visible{outline:2px solid #86b227;outline-offset:-2px}
.native-dialog{width:min(520px,calc(100% - 32px));padding:32px;border:1px solid #d4ded8;border-radius:24px;color:#103c46;background:#fff;font-family:inherit}
.native-dialog::backdrop{background:#001e2c99}
.native-dialog p{line-height:1.6;margin:20px 0}
.dialog-close{float:right;background:none;border:0;font:inherit;font-size:28px;cursor:pointer}
@media(max-width:600px){.calculator-metrics{grid-template-columns:1fr!important}.calculator-capital{font-size:clamp(28px,8vw,48px)!important;overflow-wrap:anywhere}}

/* Formulário da landing page em dialog nativo, com foco e Escape acessíveis. */
.contact-dialog{position:fixed;animation:none;transform:none;box-sizing:border-box;padding:0;inset:0;margin:auto;font-family:inherit;width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px)}
.contact-dialog:not([open]){display:none}
.contact-dialog::backdrop{background:#030603b3;backdrop-filter:blur(6px)}
.contact-dialog .advisor-form input,.contact-dialog .advisor-form select{box-sizing:border-box;font-size:16px}
.contact-dialog .advisor-form label>span{font-size:13px}
.contact-dialog .advisor-form>small{font-size:12px}
.contact-dialog .advisor-form-submit:disabled{cursor:not-allowed}
.contact-form-status{grid-column:1/-1;font-size:14px;line-height:1.5;margin:0;color:inherit}
.contact-form-status a{color:inherit;text-decoration:underline}
html:has(.contact-dialog[open]){overflow:hidden}
@media(max-width:600px){.contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}}

.account-app-dropdown{position:fixed;z-index:10000;box-sizing:border-box;padding:24px;border:1px solid #d4ded8;border-radius:20px;background:#fff;color:#103c46;box-shadow:0 18px 60px #001e2c33;max-height:calc(100dvh - 24px);overflow:auto;text-align:left}
.account-app-dropdown>strong{display:block;font-size:22px;line-height:1.2}
.account-app-dropdown>p{font-size:15px;line-height:1.5;margin:12px 0 0}
.account-app-dropdown .app-download-stores{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
.account-app-dropdown .app-store-link{width:100%;max-width:none}
html[data-theme="dark"] .account-app-dropdown{background:#101610;color:#f2f3ed;border-color:#ffffff29}
.contact-honeypot{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form-status:empty{display:none}

.site-header #mobile-navigation .mobile-account-app{font:inherit;font-size:16px;padding:14px 12px;border:0;border-radius:10px;background:#86b227;color:#102010;cursor:pointer;text-align:left}

/* Menus compactos e fechamento sempre visível. */
.site-header #mobile-navigation{inset:80px 12px auto auto;width:min(340px,calc(100vw - 24px));padding:12px;gap:2px;justify-content:stretch;justify-items:stretch;align-items:stretch;text-align:left;box-shadow:0 16px 45px #0003;max-height:calc(100dvh - 96px)}
.site-header #mobile-navigation a{box-sizing:border-box;min-height:44px;padding:10px 12px;font-size:14px;font-weight:500;justify-content:flex-start}
.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;padding:0 0 8px 12px;font-size:13px;font-weight:600;border-bottom:1px solid var(--menu-border);margin-bottom:4px}
.overlay-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid #103c4630;border-radius:50%;background:#eef2ee;color:#103c46;font:28px/1 Arial,sans-serif;cursor:pointer}
.overlay-close:focus-visible{outline:3px solid #86b227;outline-offset:2px}
html[data-theme="dark"] .overlay-close{background:#283026;color:#f2f3ed;border-color:#ffffff40}
.site-header #mobile-navigation .mobile-account-app{font-size:14px;padding:12px;margin-top:6px;min-height:44px;text-align:center}
.account-app-dropdown{padding:20px}
.account-app-dropdown>strong{font-size:19px;padding-right:38px}
.account-app-dropdown>p{font-size:14px}
.app-dropdown-close{position:absolute;right:12px;top:12px}
.account-app-dropdown .app-store-link{min-height:58px;padding:8px 14px}
.account-app-dropdown .app-store-link strong{font-size:20px}
.account-app-dropdown .app-store-link svg{width:26px;height:30px;flex-basis:26px}
.site-header #mobile-navigation .account-app-dropdown.is-in-menu{position:relative;inset:auto;width:100%;max-height:none;overflow:visible;box-shadow:none;padding:16px;margin-top:8px;border-radius:12px}
.site-header #mobile-navigation .app-store-link{color:#fff;font-weight:400;justify-content:center;gap:10px}
.contact-dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px)}
.contact-dialog-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:#161a15;border-bottom:1px solid #ffffff26;color:#f4f5ee;font-size:13px}
main[data-theme="light"] .contact-dialog-bar{background:#fff;color:#103c46;border-bottom-color:#d4ded8}
.contact-dialog .advisor-form-wrap{padding:24px 32px 32px}
.contact-dialog .advisor-form-wrap h2{margin-top:12px;font-size:36px;line-height:1.1}
.contact-dialog .advisor-form{margin-top:22px;gap:14px}
@media(max-width:600px){
 .contact-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
 .contact-dialog .advisor-form-wrap{padding:20px}
 .contact-dialog .advisor-form-wrap h2{font-size:30px;padding-right:0}
 .contact-dialog .advisor-form{grid-template-columns:1fr}
}

/* Redes sociais no rodapé, inclusive no celular. */
.site-footer .footer-social,.editorial-site .editorial-footer .footer-social{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px;margin:0;padding:0 0 24px;grid-column:1/-1}
.editorial-site .editorial-footer .footer-social{padding:8px 0 0}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:999px;color:inherit;text-decoration:none;font-size:14px;line-height:1.2}
.footer-social svg{display:block;flex-shrink:0;width:22px;height:22px}
.footer-social a:hover{background:#86b22726}
.footer-social a:focus-visible{outline:3px solid #86b227;outline-offset:4px}

/* Contraste explícito: a navegação global usa branco mesmo no tema claro. */
.site-footer .footer-social{color:#f4f5ee}
main[data-theme="light"] .site-footer .footer-social{color:#0a3642}
