/* Compact festival identity at left, useful documents grouped at right. */
footer{display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:4px 32px;align-items:center;padding-block:24px}
footer .footer-brand{grid-column:1;grid-row:1;width:130px;margin:0}
footer .footer-brand .festival-logo{height:auto}
footer p{grid-column:1;grid-row:2;width:auto;margin:0;font-size:13px;line-height:1.5;opacity:.8}
footer>a:last-of-type{grid-column:1;grid-row:3;justify-self:start;margin:0;font-size:13px;min-height:44px;text-underline-offset:4px}
footer .footer-legal{grid-column:2;grid-row:1/span 3;width:auto;display:grid;grid-template-columns:auto auto;gap:0 24px;border:0;padding:0;margin:0;align-items:start}
footer .footer-legal a{margin:0;min-height:44px;font-size:13px;line-height:1.45;text-underline-offset:4px;text-decoration-thickness:1px;opacity:.85}
footer .footer-legal a:hover,footer .footer-legal a:focus-visible{opacity:1}
@media(max-width:760px){
 footer{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}
 footer .footer-brand{width:120px}
 footer p{grid-column:1/-1;grid-row:2}
 footer>a:last-of-type{grid-column:2;grid-row:1;justify-self:end;max-width:132px;font-size:12px}
 footer .footer-legal{grid-column:1/-1;grid-row:3;font-size:13px;grid-template-columns:repeat(auto-fit,minmax(min(100%,10em),1fr));gap:0 20px;border-top:1px solid #fff3;padding-top:10px;margin-top:8px}
}
