.footer{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,3vw,3rem)}.footer__inner{display:flex;justify-content:space-between;gap:3rem;padding:4rem 0 3rem;position:relative}.footer__inner:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:960px;height:1px;background:linear-gradient(90deg,transparent 0,var(--ink08) 20%,var(--ink08) 80%,transparent 100%)}.footer__brand{max-width:260px;flex-shrink:0}.footer__logo{font-family:var(--mono);font-weight:600;font-size:1.1rem;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-bottom:.7rem}.footer__logo-dot{color:var(--accent)}.footer__tagline{font-size:.76rem;color:var(--ink50);line-height:1.7;margin:0;opacity:.7}.footer__columns{display:flex;gap:clamp(2rem,5vw,4.5rem)}.footer__column-title{font-family:var(--mono);font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin-bottom:.9rem}.footer__column-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.footer__link{font-size:.78rem;color:var(--ink50);text-decoration:none;white-space:nowrap;transition:color .15s;display:inline-block;padding:.1rem 0}.footer__link:hover{color:var(--ink)}.footer__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:1.2rem 0 1.5rem;position:relative}.footer__bottom:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:960px;height:1px;background:linear-gradient(90deg,transparent 0,var(--ink08) 20%,var(--ink08) 80%,transparent 100%)}.footer__copyright{font-family:var(--mono);font-size:.6rem;color:var(--ink50);letter-spacing:.02em;opacity:.6}.footer__built{font-style:italic;font-family:var(--serif);font-size:.68rem;color:var(--ink50);opacity:.4}@media (max-width:768px){.footer__inner{flex-direction:column;gap:2.5rem;padding:3rem 0 2rem}.footer__brand{max-width:100%}.footer__columns{flex-wrap:wrap;gap:2rem}.footer__column{min-width:120px}.footer__bottom{flex-direction:column;align-items:flex-start;gap:.3rem}}