/* One compact footer in the film's existing palette, outside the scroll controller. */
.pacto-footer {
  display:block; position:relative; z-index:21; padding:24px var(--gr) calc(24px + env(safe-area-inset-bottom,0px)) var(--gl);
  background:var(--forest); color:var(--bone); border-top:1px solid rgba(239,234,224,.14);
  font-family:var(--ui); font-size:14px; line-height:1.5;
}
.pacto-footer-top,.pacto-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px 32px; }
.pacto-footer-identity { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.pacto-footer .brand { font-size:20px; }
.pacto-footer .brand svg { width:30px; height:22px; }
.pacto-footer p { margin:0; }
.pacto-footer-identity p { color:var(--sage); }
.pacto-footer nav { display:flex; gap:12px 24px; flex-wrap:wrap; }
.pacto-footer a { color:var(--bone); text-decoration:none; text-underline-offset:4px; }
.pacto-footer a:hover { text-decoration:underline; }
.pacto-footer-bottom { margin-top:20px; padding-top:16px; border-top:1px solid rgba(239,234,224,.1); color:var(--sage); font-size:12px; align-items:flex-end; }
.pacto-footer-bottom p { max-width:85ch; }
.pacto-footer small { font-size:12px; white-space:nowrap; }
@media(max-width:700px) {
  .pacto-footer-top { align-items:flex-start; flex-direction:column; gap:16px; }
  .pacto-footer-identity { gap:8px 16px; }
  .pacto-footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; margin-top:16px; padding-top:12px; }
}
