.app-footer{
  display:grid;
  grid-template-columns:minmax(230px,1fr) minmax(300px,1.35fr) minmax(190px,.75fr);
  align-items:center;
  gap:28px;
  margin-top:56px;
  padding:24px 2px 0;
  border-top:1px solid rgba(255,255,255,.105);
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.footer-mark{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(167,139,250,.24);
  border-radius:13px;
  background:rgba(139,92,246,.12);
  color:#c4b5fd;
}

.footer-mark svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-brand strong,
.footer-brand span,
.footer-legal span,
.footer-legal small{
  display:block;
}

.footer-brand strong{
  color:#f7f8ff;
  font-size:14px;
  letter-spacing:-.02em;
}

.footer-brand div>span{
  margin-top:4px;
  color:#aeb8d2;
  font-size:11px;
  line-height:1.4;
}

.footer-signature{
  min-width:0;
}

.footer-signature p{
  margin:0 0 7px;
  color:#cfd6e9;
  font-size:12px;
  line-height:1.5;
}

.footer-signature strong{
  color:#fff;
}

.footer-private{
  display:flex;
  align-items:center;
  gap:6px;
  color:#98e6b2;
  font-size:11px;
  font-weight:700;
}

.footer-private svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-legal{
  justify-self:end;
  text-align:right;
}

.footer-legal span{
  color:#dce2f3;
  font-size:12px;
  font-weight:700;
}

.footer-legal small{
  max-width:28ch;
  margin-top:5px;
  color:#98a2bd;
  font-size:10px;
  line-height:1.45;
}

@media(max-width:1050px){
  .app-footer{
    grid-template-columns:1fr 1fr;
  }
  .footer-legal{
    grid-column:1/-1;
    justify-self:start;
    text-align:left;
  }
  .footer-legal small{max-width:none}
}

@media(max-width:760px){
  .app-footer{
    grid-template-columns:1fr;
    gap:18px;
    margin-top:38px;
    padding-top:22px;
  }
  .footer-legal{
    grid-column:auto;
  }
}

@media(prefers-contrast:more){
  .app-footer{border-top-color:rgba(255,255,255,.28)}
  .footer-brand div>span,
  .footer-legal small{color:#c5cce0}
}
