/* Base comum aos tres sites: reset, foco, faixa de troca de publico e cabecalho. */
/* Sem reset de box-sizing de proposito: o desenho aprovado foi feito em content-box (.wrap = 1240 px de conteudo). */
html{-webkit-text-size-adjust:100%;scroll-padding-top:74px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:'Source Sans 3',Arial,sans-serif;font-variant-numeric:tabular-nums}
img,svg{max-width:100%}
picture{display:contents}
button{font-family:inherit}

:focus-visible{outline:3px solid #14532D;outline-offset:2px}
.em-escuro :focus-visible{outline-color:#FFFFFF}

.pular{position:absolute;left:16px;top:-80px;z-index:40;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;background:#FFFFFF;color:#14532D;font-weight:700;border-radius:8px;text-decoration:none}
.pular:focus{top:8px}

.so-leitor{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}

/* Faixa de troca de publico */
.troca{background:var(--troca-fundo);color:#FFFFFF}
.troca-in{display:flex;flex-wrap:wrap;gap:4px}
.troca a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;color:var(--troca-link);font-weight:600;font-size:16px;text-decoration:none}
.troca a:hover{color:#FFFFFF}
.troca a[aria-current]{background:var(--troca-atual);color:#FFFFFF;font-weight:700;border-bottom:3px solid #E9B949}
@media (max-width:480px){.troca a{padding:0 10px}}

/* Cabecalho fixo: a navegacao por ancora continua sempre a mao */
.topo{position:sticky;top:0;z-index:30;background:#FFFFFF;border-bottom:1px solid #E5E7EB}
.topo-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px 32px;padding-top:12px;padding-bottom:12px}
.marca{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:Archivo,Arial,sans-serif;font-weight:800;letter-spacing:-0.01em;color:#14532D;text-decoration:none}
.marca:hover{color:#15803D}
.marca svg{flex:none}
@media (max-width:480px){.marca{gap:8px;font-size:17px !important;line-height:1.1}.marca svg{width:26px;height:26px}}
.principal{display:flex;flex-wrap:wrap;align-items:center;font-weight:600}
.principal a:not(.cta):not(.entrar){padding:10px 0;color:#111827;text-decoration:none}
.principal a:not(.cta):not(.entrar):hover{color:#15803D}
.cta{display:inline-flex;align-items:center;justify-content:center;background:#15803D;color:#FFFFFF;font-weight:700;border-radius:10px;text-decoration:none}
.cta:hover{background:#14532D;color:#FFFFFF}
.menu-btn{display:none;flex:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 16px;background:#FFFFFF;border:2px solid #14532D;border-radius:10px;color:#14532D;font-weight:700;font-size:17px;cursor:pointer}
.menu-btn:hover{background:#F0FDF4}

@media (max-width:1149px){
  .js .menu-btn{display:inline-flex}
  .js .principal{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;max-height:calc(100vh - 74px);overflow-y:auto;padding:8px clamp(16px,4vw,48px) 16px;background:#FFFFFF;border-bottom:1px solid #E5E7EB;box-shadow:0 18px 30px rgba(15,23,42,.14)}
  .js .principal.aberto{display:flex}
  .js .principal a:not(.cta):not(.entrar){display:flex;align-items:center;min-height:48px;padding:0;border-bottom:1px solid #F3F4F6}
  .js .principal .cta{min-height:48px;margin-top:10px}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}}

/* Video de fundo dos topos: fica sobre a foto e aparece quando comeca a rodar (comum.js). */
.video-fundo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease;pointer-events:none}
.video-fundo.rodando{opacity:1}
