/* Foco, alvos e movimento. Carregado no fim do body para valer junto do CSS de cada página. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.btn:focus-visible,
.cta:focus-visible{
  outline:2px solid #E09C67;
  outline-offset:3px;
}
.zapbar,
a.cta,
a.btn,
button,
input[type="submit"],
.nav .cta,
.navlinks a,
summary{
  min-height:44px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
select,
textarea{
  min-height:44px;
}
.zapbar{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  display:none;align-items:center;justify-content:center;
  box-sizing:border-box;
  min-height:48px;padding:12px 16px;
  background:#C87F4A;color:#17110C;
  font-weight:650;font-size:16px;line-height:1.2;
  text-decoration:none;text-align:center;
}
@media(max-width:820px){
  .zapbar{display:flex}
  body{padding-bottom:76px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
.sumario{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 18px;max-width:72ch}
.sumario a{display:inline-flex;align-items:center;min-height:44px;color:#C87F4A;text-decoration:none}
.resposta-direta{
  font-size:17.5px;line-height:1.6;color:#EDE8E0;
  max-width:68ch;margin:0 0 22px;
}
.cta-linha{margin:0 0 28px}
.cta-linha .cta{display:inline-flex;align-items:center;justify-content:center}
.grade-proj{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:22px 0}
@media(min-width:900px){.grade-proj{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card-proj{background:#141311;border:1px solid #2E2B28;border-radius:6px;overflow:hidden}
.card-proj img{display:block;width:100%;height:auto;background:#0C0B0A}
.card-proj .miolo{padding:14px 16px 16px}
.card-proj h3{margin:0 0 8px;font-size:18px}
.card-proj p{margin:0 0 8px;font-size:15px}
.card-proj a.visita{color:#C87F4A}

.video-play:focus-visible{outline:3px solid #fff;outline-offset:-6px;box-shadow:inset 0 0 0 9px #C87F4A}
.video-play:focus-visible .vp-btn{box-shadow:0 0 0 4px #fff,0 0 0 7px #C87F4A}

/* Cada link do rodapé, e o botão de cookies no mesmo menu, vira um alvo
   de ponteiro de 24×24 px, com folga para o vizinho. */
footer .fm a,
footer .fm button.ck-abrir{
  display:inline-block;
  box-sizing:border-box;
  max-width:100%;
  min-width:24px;
  min-height:24px;
  margin:2px 2px;
  padding:4px 3px;
  line-height:16px;
  vertical-align:baseline;
}
