/* Shared site footer — single source of truth, styling for the markup that
   footer.js injects. Linked by index.html and every legal/support page so the
   footer is identical everywhere. All selectors are scoped under `footer` so
   they never collide with page-specific .brand / .wrap rules. Font vars fall
   back to --sans for pages (legal.css) that don't define --display / --mono. */
footer{border-top:1px solid var(--line);padding:64px 0;position:relative;overflow:hidden;margin-top:0;}
/* iOS Safari needs an explicit cursor:pointer on script-inserted elements,
   otherwise the FIRST tap on a dynamically-added link is swallowed (desktop
   click is unaffected — which is why it only misbehaved on mobile). */
footer a{cursor:pointer;-webkit-tap-highlight-color:rgba(74,222,128,0.18);}
footer .wrap{max-width:1140px;margin:0 auto;padding:0 32px;position:relative;}
@media(max-width:600px){footer .wrap{padding:0 22px;}}
footer .foot-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:40px;position:relative;z-index:2;}
@media(max-width:760px){footer .foot-grid{grid-template-columns:1fr 1fr;gap:30px;}}
footer .brand{display:inline-flex;align-items:center;gap:10px;}
footer .brand img{width:32px;height:32px;border-radius:8px;display:block;}
footer .brand span{font-family:var(--display,var(--sans));font-size:17px;font-weight:700;letter-spacing:-0.02em;}
footer .foot-brand p{font-size:13.5px;color:var(--sub);margin:16px 0 0;max-width:280px;line-height:1.55;}
footer .foot-col h5{font-family:var(--mono,var(--sans));font-size:11px;font-weight:600;color:var(--sub-2);margin:0 0 16px;letter-spacing:0.14em;text-transform:uppercase;}
footer .foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
footer .foot-col a{font-size:14px;color:var(--ink-2);transition:color .2s;}
footer .foot-col a:hover{color:var(--accent);}
footer .foot-col .muted{font-size:14px;color:var(--sub-2);}
footer .foot-base{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono,var(--sans));font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--sub-2);position:relative;z-index:2;}
@media(max-width:680px){footer .foot-base{flex-direction:column;gap:8px;font-size:10px;letter-spacing:0.03em;}footer .foot-word{font-size:28vw;bottom:-4vw;}}
footer .foot-word{position:absolute;left:0;right:0;bottom:-3.2vw;text-align:center;font-family:var(--display,var(--sans));font-weight:800;font-size:24vw;line-height:1;letter-spacing:-0.05em;color:rgba(245,240,232,0.025);pointer-events:none;user-select:none;z-index:1;}
