/* The Kaplex site footer, shared by the home (public/home-3d) and Kore (public/kore-3d). Self-contained: its own tokens. */
.ff{--f-ink:#effaf4;--f-dim:#a9bdb2;--f-mute:#6f887c;--f-em:#2bf08b;--f-line:rgba(225,240,232,.1);background:#020604;color:var(--f-ink);font-family:Geist,system-ui,sans-serif}
.ff .kx-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.ff{position:relative;padding:clamp(150px,16vw,220px) 0 0;border-top:1px solid var(--f-line);overflow:hidden}
.ff-traces{position:absolute;left:0;right:0;top:0;width:100%;height:clamp(150px,16vw,220px);opacity:.75}
.ff-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:clamp(32px,4vw,64px)}
.ff-mark{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--f-ink)}.ff-mark img{height:42px;width:auto}.ff-mark b{display:block;letter-spacing:.34em;font-weight:500;font-size:17px}.ff-mark i{display:block;font-style:normal;font:500 10px/1.6 'Geist Mono',monospace;letter-spacing:.36em;color:var(--f-em)}
.ff-brand p{margin:22px 0 0;font-size:15px;line-height:1.6;color:var(--f-dim);max-width:30ch}
.ff-brand address{margin:22px 0 0;font-style:normal;font-size:14px;line-height:1.7;color:var(--f-mute)}
.ff-h{margin:6px 0 18px;font:500 11px/1 'Geist Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--f-mute)}
.ff-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ff-col a{display:inline-flex;align-items:center;gap:10px;color:var(--f-dim);text-decoration:none;font-size:15px;transition:color .3s}.ff-col a:focus-visible{outline:2px solid var(--f-em);outline-offset:3px;border-radius:4px}
.ff-col img{height:18px;width:auto}.ff-col .ff-kp{color:#fed7aa}
.ff-cta p{margin:0 0 20px;font-size:15px;line-height:1.6;color:var(--f-dim)}
.ff .ff-base{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 32px;margin-top:clamp(88px,9vw,140px);padding-top:32px;padding-bottom:clamp(40px,5vw,64px);border-top:1px solid var(--f-line);font-size:13px;letter-spacing:.01em;color:var(--f-mute)}
.ff-loc{font:500 11px/1 'Geist Mono',monospace;letter-spacing:.22em;text-transform:uppercase}
/* the closing wordmark: oversized, outlined, half-sunk into the page edge */
.ff-word{position:relative;margin-top:clamp(8px,2vw,24px);height:clamp(44px,11vw,170px);overflow:hidden;text-align:center;font:600 clamp(64px,19vw,300px)/1 Geist,system-ui,sans-serif;letter-spacing:.04em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(43,240,139,.22);user-select:none;padding-bottom:env(safe-area-inset-bottom,0px)}
@media (max-width:640px){.ff .ff-base{flex-direction:column;align-items:flex-start;gap:10px}}
@media (max-width:899px){.ff-grid{grid-template-columns:1fr 1fr}.ff-brand,.ff-cta{grid-column:1/-1}}
/* green buttons always carry dark ink (7:1 or better on #2BF08B); the footer link colour must never reach them */
.ff a.btn,.ff .btn{color:#06110b!important;font-weight:600;display:inline-flex;align-items:center;gap:10px;background:#2BF08B;padding:14px 22px;border-radius:10px;text-decoration:none;font-size:15px}
.ff .btn .kx-arr{width:14px;height:12px}
