/* Cabeçalho e rodapé organizados (mesmos nas páginas azuis: inicial, Tecnologias, Integrações e Solicitar). */

/* CABEÇALHO: logo à esquerda, menu centralizado, botão à direita */
@media (min-width: 901px) {
  body.home .site-header, body.tema-azul .site-header { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; padding-block: 12px; }
  body.home .site-header .brand, body.tema-azul .site-header .brand { justify-self: start; flex: none; }
  body.home .site-header .header-action, body.tema-azul .site-header .header-action { justify-self: end; align-self: center; white-space: nowrap; display: inline-flex; min-height: 46px; }
}
body.home .nav, body.tema-azul .nav { justify-self: center; gap: 4px; font-size: 14px; font-weight: 700; }
body.home .nav a, body.tema-azul .nav a { padding: 8px 13px; border-radius: 10px; transition: background .15s ease, color .15s ease; }
body.home .nav a:hover, body.tema-azul .nav a:hover { background: rgba(255, 255, 255, .09); color: #fff; }
body.home .nav a.active, body.tema-azul .nav a.active { background: rgba(111, 183, 255, .16); color: #fff; }
body.home .nav a.active::after, body.tema-azul .nav a.active::after { content: none; }
body.home .nav .access-link, body.tema-azul .nav .access-link { margin-left: 8px; border: 1px solid rgba(123, 232, 185, .45); border-radius: 999px; padding: 7px 16px; color: #7be8b9; }
body.home .nav .access-link:hover, body.tema-azul .nav .access-link:hover { background: rgba(123, 232, 185, .14); color: #a6f5d2; }
@media (max-width: 1500px) and (min-width: 901px) { body.home .nav a, body.tema-azul .nav a { padding: 8px 9px; font-size: 13.5px; } body.home .nav .access-link, body.tema-azul .nav .access-link { padding: 7px 12px; margin-left: 4px; } body.home .site-header, body.tema-azul .site-header { padding-inline: 28px; } }
@media (max-width: 1180px) and (min-width: 901px) { body.home .nav, body.tema-azul .nav { gap: 0; } body.home .nav a, body.tema-azul .nav a { padding: 7px 6px; font-size: 13px; } body.home .nav .access-link, body.tema-azul .nav .access-link { padding: 6px 10px; margin-left: 2px; } body.home .site-header, body.tema-azul .site-header { padding-inline: 16px; gap: 8px; } body.home .site-header .header-action, body.tema-azul .site-header .header-action { padding: 8px 12px; font-size: 13px; min-height: 40px; } }
@media (max-width: 900px) { body.home .nav a, body.tema-azul .nav a { padding: 12px 10px; } body.home .nav .access-link, body.tema-azul .nav .access-link { margin: 6px 0 0; text-align: center; } }

/* RODAPÉ: faixa de ponta a ponta, três colunas e linha de direitos */
body.home .footer, body.tema-azul .footer {
  display: block; width: 100%; margin: 0; padding: 60px clamp(18px, 5.6vw, 86px) 28px;
  background: linear-gradient(180deg, #071a38, #040d1e); border-top: 1px solid rgba(111, 183, 255, .25); color: rgba(255, 255, 255, .7);
}
.footer-top { display: grid; grid-template-columns: 1.5fr .8fr 1.1fr; gap: 56px; width: min(1180px, 100%); margin: 0 auto; }
.footer-brand { display: flex !important; align-items: flex-start; gap: 18px; }
.footer-brand img { width: 72px !important; height: 72px !important; flex: none; }
.footer-brand strong { display: block; font-size: 20px; color: #fff !important; }
.footer-brand p { margin: 8px 0 0; max-width: 320px; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .68); }
.footer h4 { margin: 0 0 6px; font: 700 12px/1.4 "Cascadia Mono", Consolas, monospace; letter-spacing: .16em; text-transform: uppercase; color: #6fe3b3; }
.footer-links, .footer-contact { display: grid; align-content: start; gap: 10px; }
body.home .footer a, body.tema-azul .footer a { color: rgba(255, 255, 255, .82) !important; font-weight: 600; font-size: 15px; width: fit-content; }
body.home .footer a:hover, body.tema-azul .footer a:hover { color: #fff !important; }
.footer-contact span { font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .68); }
body.home .footer .footer-cta, body.tema-azul .footer .footer-cta { margin-top: 8px; padding: 10px 18px; border: 1px solid rgba(111, 183, 255, .6); border-radius: 12px; color: #fff !important; font-weight: 700; }
body.home .footer .footer-cta:hover, body.tema-azul .footer .footer-cta:hover { background: rgba(111, 183, 255, .16); }
.footer-copy { width: min(1180px, 100%); margin: 44px auto 0; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1); text-align: center; font-size: 13px; color: rgba(255, 255, 255, .5); }
@media (max-width: 900px) { .footer-top { grid-template-columns: 1fr; gap: 34px; } body.home .footer, body.tema-azul .footer { padding-top: 44px; } }
