/* Site footer — dark, in the same ink as the apps banner. Brand column + three link columns,
   then a quiet legal row. Loaded only from views/footer.ejs; every selector is .ft- prefixed. */
footer{background:#0B0F14;color:#fff;padding:64px 0 36px;
  background-image:radial-gradient(ellipse 60% 120% at 0% 0%, rgba(65,105,225,.18) 0%, transparent 60%);
  -webkit-font-smoothing:antialiased}
.ft-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px 32px;text-align:left}
.ft-logo{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:600;font-size:17px;letter-spacing:-.01em;line-height:1}
.ft-logo img{width:32px;height:32px;border-radius:9px;display:block}
.ft-tagline{margin:16px 0 0;max-width:300px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.62)}
.ft-title{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ft-col ul{list-style:none;margin:0;padding:0}
.ft-col li{margin:0 0 11px;font-size:14.5px;line-height:1.45}
.ft-col a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .15s}
.ft-col a:hover{color:#fff}
.ft-col a:focus-visible{outline:2px solid #7c9cff;outline-offset:3px;border-radius:3px}
.ft-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.ft-disclaimer{margin:0;max-width:640px;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.45)}
.ft-copy{margin:0;flex:none;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.45);white-space:nowrap}
@media only screen and (min-width:641px) and (max-width:1000px){
  footer .container{padding-left:20px;padding-right:20px;box-sizing:border-box}
}
@media only screen and (max-width:900px){
  footer{padding:52px 0 32px}
  .ft-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
  .ft-brand{grid-column:1 / -1}
  .ft-bottom{flex-direction:column;align-items:flex-start;gap:10px}
  .ft-copy{white-space:normal}
}
@media only screen and (max-width:640px){
  footer{padding:44px 0 28px}
  /* Three narrow columns keep the row balanced (no orphan column); below 480px they stack. */
  .ft-grid{gap:28px 16px}
  .ft-col li{font-size:14px}
  .ft-tagline{max-width:none}
  .ft-bottom{margin-top:36px}
}
@media only screen and (max-width:480px){
  .ft-grid{grid-template-columns:1fr;gap:26px}
  .ft-col li{font-size:14.5px}
}
