/* =========================================================
   FOOTER
   ========================================================= */
footer{
  position:relative; background:linear-gradient(180deg, var(--blue-50) 0%, rgba(245,247,255,.7) 100%);
  backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
  border-top:1px solid var(--blue-100); color:var(--ink); padding:80px 40px 30px;
}
@media (max-width:720px){ footer{ padding:56px 22px 24px; } }
.footer-top{
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1.6fr .8fr .8fr .9fr; gap:40px;
  padding-bottom:56px; border-bottom:1px solid var(--blue-100);
}
@media (max-width:900px){ .footer-top{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-top{ grid-template-columns:1fr; } }

.footer-brand .mark{ justify-self:start; }
.footer-brand .mark-word{ color:var(--ink); }
.footer-brand .mark-word span{ color:var(--blue-600); }
.footer-brand p{ margin-top:16px; font-size:13.5px; color:var(--grey); line-height:1.6; max-width:280px; }

.footer-newsletter{ margin-top:26px; }
.footer-newsletter-row{ display:flex; background:rgba(255,255,255,.6); border:1px solid var(--blue-100); border-radius:100px; overflow:hidden; }
.footer-newsletter-row input{
  flex:1; background:transparent; border:none; padding:13px 18px; color:var(--ink); font-size:13.5px;
}
.footer-newsletter-row input::placeholder{ color:var(--grey); }
.footer-newsletter-row input:focus{ outline:none; }
.footer-newsletter-row button{
  width:44px; display:flex; align-items:center; justify-content:center; background:var(--blue-600); color:var(--white);
}
.footer-newsletter-row button svg{ width:16px; height:16px; }
.footer-newsletter-msg{ margin-top:10px; font-size:12px; color:var(--blue-600); opacity:0; transition:opacity .2s var(--ease); }
.footer-newsletter-msg.show{ opacity:1; }

.footer-col h4{ font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--grey); margin-bottom:18px; }
.footer-col ul li{ margin-bottom:11px; }
.footer-col a{
  position:relative; display:inline-block; font-size:13.5px; color:var(--ink);
  transition:color .25s var(--ease), transform .25s var(--ease);
}
.footer-col a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px;
  background:var(--blue-600); transition:width .3s var(--ease);
}
.footer-col a:hover{ color:var(--blue-600); transform:translateX(4px); }
.footer-col a:hover::after{ width:100%; }
.footer-col p{ font-size:13.5px; color:var(--ink); line-height:1.7; }

.footer-phone-row{
  display:flex; align-items:center; gap:7px;
  font-size:13.5px; color:var(--ink); line-height:1.7; margin-top:4px;
}
.footer-icon{ width:13px; height:13px; color:var(--blue-600); flex-shrink:0; }

.footer-branches{
  max-width:1240px; margin:0 auto;
  padding:26px 0; border-bottom:1px solid var(--blue-100);
}
.footer-branches-head{
  font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--grey);
  margin-bottom:16px;
}
.footer-branches-grid{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:28px;
}
@media (max-width:560px){ .footer-branches-grid{ grid-template-columns:1fr; } }
.footer-branch h5{ font-family:var(--sans); font-size:13px; font-weight:700; color:var(--ink); margin-bottom:5px; }
.footer-branch p{ font-size:12.5px; color:var(--grey); line-height:1.6; }
.footer-branch-phone-row{
  display:flex; align-items:center; gap:6px;
  font-size:12.5px; color:var(--ink); font-weight:600; margin-top:4px;
}
.footer-branch-icon{ width:11px; height:11px; color:var(--blue-600); flex-shrink:0; }

.footer-bottom{
  max-width:1240px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
  padding-top:26px; font-size:12.5px; color:var(--grey);
}
.footer-legal{ display:flex; gap:22px; }
.footer-legal a{ position:relative; color:var(--grey); transition:color .25s var(--ease); }
.footer-legal a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px;
  background:var(--blue-600); transition:width .3s var(--ease);
}
.footer-legal a:hover{ color:var(--blue-600); }
.footer-legal a:hover::after{ width:100%; }
.footer-socials{ display:flex; gap:12px; }
.footer-socials a{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--blue-100); background:rgba(255,255,255,.6);
  display:flex; align-items:center; justify-content:center; color:var(--ink);
  transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.footer-socials svg{ width:14px; height:14px; transition:transform .3s var(--ease); }
.footer-socials a:hover{ background:var(--blue-600); border-color:var(--blue-600); color:var(--white); transform:translateY(-4px) scale(1.1); }
.footer-socials a:hover svg{ transform:rotate(-10deg) scale(1.1); }
.footer-socials a:active{ transform:translateY(-1px) scale(0.95); }