/* ==========================================================================
   BLUE INC — RODAPÉ COMPARTILHADO
   --------------------------------------------------------------------------
   Este arquivo mantém o rodapé idêntico na home e nas páginas internas.
   ========================================================================== */

[data-site-footer]{display:block;min-height:360px;background:var(--navy-dd,#0c102f)}
[data-site-footer].is-loaded{min-height:0}
.site-footer-wrap{width:min(100% - 2.6rem,1240px);margin-inline:auto}
.ft{
  background:var(--navy-dd,#0c102f);color:rgba(255,255,255,.62);
  padding:4.5rem 0 0;font-family:"Nunito Sans",system-ui,sans-serif;
  font-size:.92rem;line-height:1.65
}
.ft a{color:inherit;text-decoration:none}
.ft p,.ft h4{margin-top:0}
.ft__in{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem}
.ft__brand img{height:44px;width:auto;opacity:.95;margin-bottom:1.2rem}
.ft__brand p{max-width:38ch;font-size:.9rem;font-weight:300}
.ft__col h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.1rem}
.ft__col ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ft__col a{transition:color .25s}
.ft__col a:hover{color:#fff}
/* Contatos com ícone: o SVG usa currentColor e acompanha o hover do link. */
.ft__contact{display:inline-flex;align-items:flex-start;gap:.55rem}
.ft__ico{width:17px;height:17px;flex:none;margin-top:.16em;color:var(--cyan,#39c1d7);transition:color .25s}
.ft__contact:hover .ft__ico{color:#fff}
/* Atalho para a página de escritórios, destacado em ciano.
   Precisa de ".ft a" no seletor: só ".ft__offices" perde para .ft a{color:inherit}. */
.ft a.ft__offices{color:var(--cyan,#39c1d7);font-weight:700}
.ft a.ft__offices:hover{color:#fff}
.ft address{font:inherit;font-style:normal}
.ft__bot{
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0;font-size:.83rem
}
.ft__bot p{margin:0;font-weight:300}
.ft__bot nav{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.ft__bot a:hover{color:#fff}
.ft__bot .ft__credit{
  color:rgba(255,255,255,.22);font-size:.78rem;font-weight:500;letter-spacing:.015em;
  transition:color .25s cubic-bezier(.22,1,.36,1)
}
.ft__bot .ft__credit:hover,.ft__bot .ft__credit:focus-visible{color:rgba(255,255,255,.52)}
.ft__logo{position:relative;display:inline-block;--mx:50%;--my:50%}
.ft__logo img{display:block}
.ft__logo-color{
  position:absolute;inset:0;opacity:0;transition:opacity .35s cubic-bezier(.22,1,.36,1);
  -webkit-mask:radial-gradient(circle 78px at var(--mx) var(--my),#000 0%,rgba(0,0,0,.4) 45%,transparent 72%);
  mask:radial-gradient(circle 78px at var(--mx) var(--my),#000 0%,rgba(0,0,0,.4) 45%,transparent 72%)
}
.ft__logo:hover .ft__logo-color{opacity:1}
.ft .reg{font-size:.52em;vertical-align:super;line-height:0;font-weight:700;margin-left:.04em}

@media(max-width:1040px){
  .ft__in{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .site-footer-wrap{width:min(100% - 1.6rem,1240px)}
  .ft__in{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 1.25rem}
  .ft__brand,.ft__col:last-child{grid-column:1/-1}
  .ft__col h4{font-size:.7rem;letter-spacing:.11em}
  .ft__col ul{gap:.55rem}
  .ft__col a{font-size:.85rem}
  .ft__bot{flex-direction:column;align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){
  .ft__logo-color{display:none}
}
