/* Scoped to the footer; header, navigation and content styles are unchanged. */
/* The footer is rendered outside #main (sibling of it inside #page-background-glare-image), so it mirrors #main's box: width 100%, max-width 1190px (parent fluidtheme/style.css #main), centred. */
#ars-site-footer { clear:both; display:block; width:100%; max-width:1190px; min-width:0; margin:0 auto; padding:0; border:0; background:linear-gradient(105deg,#304c39 0%,#3b5740 48%,#2e4b38 100%); color:#f3f1e7; text-align:left; container-type:inline-size; }
#ars-site-footer *, #ars-site-footer *::before, #ars-site-footer *::after { box-sizing:border-box; }
#ars-site-footer p, #ars-site-footer h2, #ars-site-footer address { overflow-wrap:anywhere; }
#ars-site-footer .ars-footer-grid { display:grid; grid-template-columns:minmax(310px,1.65fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr); gap:28px; width:100%; max-width:1440px; min-height:130px; margin:0 auto; padding:11px 16px 13px; }
#ars-site-footer .ars-footer-grid > * { min-width:0; margin:0; padding:0; border:0; background:none; }
#ars-site-footer .ars-footer-brand { display:flex; align-items:center; gap:17px; align-self:center; }
#ars-site-footer .ars-footer-brand > div { min-width:0; }
#ars-site-footer img.ars-footer-mark { display:block; flex:0 0 60px; width:60px; height:113px; max-width:none; margin:0; padding:0; border:0; box-shadow:none; object-fit:contain; }
#ars-site-footer a { display:block; min-height:20px; margin:0; padding:0; border:0; background:none; color:#e8ebdf; font:400 12.5px/1.55 Arial,sans-serif; text-decoration:none; text-transform:none; letter-spacing:normal; overflow-wrap:anywhere; }
#ars-site-footer a.ars-footer-name { margin:0 0 12px; color:#faf6e8; font:400 25px/1.15 'Times New Roman',Georgia,serif; }
#ars-site-footer .ars-footer-affiliation { max-width:260px; margin:0; padding:0; color:#e5e8d9; font:400 10.5px/1.65 Georgia,'Times New Roman',serif; letter-spacing:1px; text-transform:uppercase; }
#ars-site-footer h2 { margin:0 0 8px; padding:0; border:0; background:none; color:#f8f6eb; font:600 14px/1.4 Arial,sans-serif; text-transform:none; letter-spacing:normal; }
#ars-site-footer address { margin:0 0 3px; padding:0; color:#e8ebdf; font:400 12.5px/1.65 Arial,sans-serif; }
#ars-site-footer a.ars-footer-details { margin-top:4px; }
#ars-site-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
#ars-site-footer a:focus-visible { outline:2px solid #e9ce8b; outline-offset:3px; }
#ars-site-footer .ars-footer-legal { max-width:1440px; margin:0 auto; padding:12px 22px 08px; border-top:1px solid #ffffff26; color:#e5e8d9; font:400 12px/1.6 Arial,sans-serif; }
#ars-site-footer .ars-footer-legal p { margin:0; font:inherit; color:inherit; }
#ars-site-footer .ars-footer-legal a { display:inline; font:inherit; text-decoration:underline; }
#ars-site-footer .ars-footer-legal > br:first-child { display:none; }
.ars-footer-widgets { clear:both; width:100%; max-width:1190px; margin:0 auto; }
@container (max-width:1100px) {
 #ars-site-footer .ars-footer-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:26px 36px; padding:26px 24px; }
 #ars-site-footer .ars-footer-brand { align-self:start; }
 #ars-site-footer a { font-size:14px; min-height:32px; }
 #ars-site-footer address { font-size:14px; }
}
@container (max-width:600px) {
 #ars-site-footer .ars-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; padding:24px 20px 26px; }
 #ars-site-footer .ars-footer-grid > .ars-footer-brand, #ars-site-footer .ars-footer-grid > .ars-footer-contacts { grid-column:1 / -1; }
 #ars-site-footer .ars-footer-brand { gap:14px; }
 #ars-site-footer img.ars-footer-mark { flex-basis:51px; width:51px; height:96px; }
 #ars-site-footer a.ars-footer-name { font-size:24px; }
 #ars-site-footer .ars-footer-affiliation { font-size:10px; letter-spacing:.7px; }
 #ars-site-footer .ars-footer-links a, #ars-site-footer .ars-footer-contacts a { display:flex; align-items:center; min-height:44px; }
 #ars-site-footer h2 { font-size:16px; }
 #ars-site-footer .ars-footer-legal { padding:14px 20px 20px; }
}
