.site-footer{border-top:0.5px solid var(--line);padding:56px 0 40px;text-align:left;}
.sf-inner{max-width:var(--sf-w,1080px);margin:0 auto;padding:0 28px;display:grid;grid-template-columns:0.9fr repeat(3,1fr);gap:40px;}
.sf-logo{display:inline-block;font-size:18px;letter-spacing:0.32em;font-weight:400;text-decoration:none;color:var(--ink);margin-bottom:14px;}
.sf-title{font-size:13px;font-weight:700;letter-spacing:0.08em;color:var(--ink);margin-bottom:12px;}
.sf-col a{display:block;font-size:14px;color:var(--ink-soft);font-weight:300;text-decoration:none;padding:6px 0;transition:color .2s;}
.sf-col a:hover{color:var(--ink);}
.sf-bottom{max-width:var(--sf-w,1080px);margin:40px auto 0;padding:0 28px;}
.sf-bottom-inner{border-top:0.5px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;font-size:11px;color:var(--ink-soft);opacity:0.65;letter-spacing:0.02em;}
@media(max-width:820px){
  .site-footer{padding:44px 0 36px;}
  .sf-inner{grid-template-columns:1fr 1fr;gap:32px 20px;padding:0 24px;}
  .sf-brand{grid-column:1/-1;}
  .sf-bottom{padding:0 24px;margin-top:32px;}
}
