/* Shared Trifectapp footer. No external fonts, animation or JavaScript required. */
#tfc-site-footer{--tfc-footer-red:#ce0e2d;--tfc-footer-ink:#202326;--tfc-footer-muted:#62666b;--tfc-footer-paper:#f8f7f3;display:block;clear:both;width:100%;max-width:none;min-width:0;margin:0;padding:0;border:0;border-top:1px solid #deddd6;background:var(--tfc-footer-paper);color:var(--tfc-footer-ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.6;text-align:left;isolation:isolate}
#tfc-site-footer *,#tfc-site-footer *::before,#tfc-site-footer *::after{box-sizing:border-box}
#tfc-site-footer .tfc-site-footer__inner{width:100%;max-width:1240px;margin:0 auto;padding:42px 20px 26px}
#tfc-site-footer .tfc-site-footer__top{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:0;margin:0;padding:0}
#tfc-site-footer .tfc-site-footer__identity{flex:1 1 auto;min-width:0}
#tfc-site-footer .tfc-site-footer__brand{display:inline-flex;align-items:center;width:155px;max-width:100%;min-height:44px;margin:0;padding:5px 0}
#tfc-site-footer .tfc-site-footer__brand img{display:block;width:155px;max-width:100%;height:auto;aspect-ratio:861/184;border:0;border-radius:0;object-fit:contain;box-shadow:none}
#tfc-site-footer p{margin:6px 0 0;padding:0;color:var(--tfc-footer-muted);font-size:13px;line-height:1.7;letter-spacing:0}
#tfc-site-footer .tfc-site-footer__nav{display:block;flex:0 1 auto;margin:0;padding:0;border:0;background:none}
#tfc-site-footer ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 26px;list-style:none;margin:0;padding:0}
#tfc-site-footer li{display:block;list-style:none;margin:0;padding:0}
#tfc-site-footer a{color:var(--tfc-footer-ink);font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;text-decoration:none;text-transform:none;letter-spacing:0;border:0;border-radius:0;background:none;box-shadow:none}
#tfc-site-footer .tfc-site-footer__nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;overflow-wrap:anywhere}
#tfc-site-footer a::before,#tfc-site-footer a::after{content:none}
#tfc-site-footer a:hover,#tfc-site-footer a[aria-current="page"]{color:var(--tfc-footer-red);text-decoration:underline;text-underline-offset:5px}
#tfc-site-footer a:focus-visible{outline:3px solid #1765aa;outline-offset:4px}
#tfc-site-footer a:focus:not(:focus-visible){outline:none}
#tfc-site-footer .tfc-site-footer__bottom{display:grid;grid-template-columns:1fr 1.7fr;align-items:start;gap:24px;margin-top:28px;padding-top:20px;border-top:1px solid #deddd6}
#tfc-site-footer .tfc-site-footer__bottom p{margin:0;font-size:11px;line-height:1.75}
#tfc-site-footer .tfc-site-footer__bottom p:last-child{text-align:right}
/* Exact Astra / UAE shells only after the replacement exists as a preceding sibling.
   UAE's #colophon has role="contentinfo" but does not use Astra's .site-footer class. */
#tfc-site-footer ~ #colophon.site-footer,#tfc-site-footer ~ #colophon[role="contentinfo"]{display:none!important}
/* These are Core's own compact local notes, not arbitrary theme or activity footers. */
body.tfc-shared-footer-active .tfc-account .tfc-account-footer,body.tfc-shared-footer-active .tfc-student .tfc-student-footer{display:none!important}
body.ld-in-focus-mode .ld-focus-content #tfc-site-footer{margin-top:36px;border:1px solid #deddd6;border-radius:8px}
body.ld-in-focus-mode .ld-focus-content #tfc-site-footer .tfc-site-footer__inner{padding:28px 20px 22px}
@media(max-width:900px){#tfc-site-footer .tfc-site-footer__top{align-items:flex-start;flex-direction:column;gap:18px}#tfc-site-footer ul{justify-content:flex-start;gap:0 26px}#tfc-site-footer .tfc-site-footer__bottom{grid-template-columns:1fr;gap:12px}#tfc-site-footer .tfc-site-footer__bottom p:last-child{text-align:left}}
@media(max-width:540px){#tfc-site-footer .tfc-site-footer__inner{padding-top:32px;padding-bottom:28px}#tfc-site-footer ul{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}#tfc-site-footer .tfc-site-footer__nav{width:100%}#tfc-site-footer .tfc-site-footer__bottom{margin-top:22px;padding-top:18px}}
