/* Shared footer: keep every public page consistent, including standalone home. */
.site-footer { border-top:1px solid var(--line); padding-block:27px }
.site-footer .footer-inner {
  position:relative;
  display:flex;
  flex-wrap:nowrap;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  font-size:12px;
  color:var(--muted)
}
.site-footer .footer-brand { flex:0 0 auto }
.site-footer .footer-meta {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:auto;
  margin:0;
  text-align:center;
  white-space:nowrap;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.08em;
  color:var(--muted)
}
.site-footer .footer-actions {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px
}
.site-footer .footer-socials {
  display:flex;
  align-items:center;
  gap:7px;
  padding:0
}
.site-footer .footer-social,
.site-footer .footer-resume {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  color:var(--muted);
  border:1px solid var(--line);
  border-radius:50%;
  background:transparent;
  transition:color .22s,background .22s,border-color .22s,transform .22s
}
.site-footer .footer-social svg,
.site-footer .footer-resume svg {
  display:block;
  width:15px!important;
  height:15px!important;
  stroke:currentColor;
  stroke-width:1.75;
  fill:none
}
.site-footer .footer-social .icon-linkedin { fill:currentColor; stroke:none }
.site-footer .footer-social:hover,
.site-footer .footer-social:focus-visible,
.site-footer .footer-resume:hover,
.site-footer .footer-resume:focus-visible {
  color:var(--ink);
  border-color:var(--ink);
  transform:translateY(-2px)
}
.site-footer .footer-social[aria-disabled="true"] { opacity:.72; cursor:not-allowed }
.site-footer .footer-social[aria-disabled="true"]:hover {
  color:var(--muted);
  border-color:var(--line);
  transform:none
}
.site-footer .footer-motion { margin-left:2px }
@media(max-width:600px) {
  .site-footer .footer-inner { gap:10px }
  .site-footer .footer-meta {
    position:static;
    flex:1 1 auto;
    min-width:0;
    transform:none;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:9px
  }
  .site-footer .footer-actions { margin-left:0; gap:5px }
  .site-footer .footer-socials { gap:5px }
  .site-footer .footer-social,
  .site-footer .footer-resume { width:29px; height:29px }
}
@media(max-width:480px) {
  .site-footer .footer-inner { gap:7px }
  .site-footer .footer-socials { gap:4px }
  .site-footer .footer-social,
  .site-footer .footer-resume { width:27px; height:27px }
  .site-footer .footer-motion {
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    padding:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:50%;
    font-size:0
  }
  .site-footer .footer-motion::after {
    content:'M';
    color:var(--muted);
    font:10px/1 Code,monospace
  }
}


@media(min-width:601px) and (max-width:1100px) { .site-footer .footer-meta { position:static; transform:none; min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis } }
@media(max-width:600px) { .site-footer .footer-inner { padding-right:70px } .site-footer .footer-actions { flex-shrink:0 } }
