.footer .wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1rem, 3vw, 2rem);}
.footer{padding:clamp(2rem,4vw,3rem) 0;border-top:1px solid var(--line);position:relative;}
.footer::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(77,184,232,.3) 35%,rgba(61,189,114,.18) 65%,transparent 90%);}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gutter);flex-wrap:wrap;}
.footer-cols{display:flex;gap:clamp(2rem,5vw,4rem);}
.footer-col h5{font:700 var(--fs-xs)/1 var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.6rem;}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.footer-col a{font:500 var(--fs-sm)/1.3 var(--font-sans);color:var(--muted);transition:color .15s ease;}
.footer-col a:hover{color:var(--ink);}
.footer-bottom{margin-top:clamp(1.5rem,3vw,2rem);padding-top:1rem;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-copy{font:400 var(--fs-xs)/1.4 var(--font-sans);color:var(--muted);opacity:.85;}
.footer-legal{font:400 var(--fs-xs)/1.55 var(--font-sans);color:var(--muted);opacity:.65;max-width:600px;}
.footer-brand .nav-logo{display:flex;align-items:center;gap:8px;font:700 .95rem/1 var(--font-sans);color:var(--ink);}
.footer-brand .nav-logo img{width:28px;height:28px;}
.footer-brand>p{font:400 var(--fs-sm)/1.5 var(--font-sans);color:var(--muted);margin-top:.4rem;}
@media(max-width:768px){
  .footer-inner{flex-direction:column;}
  .footer-cols{flex-wrap:wrap;}
}
