/* Universal footer. Self-contained: colors and container are defined here so it renders the same on every page,
   and every rule is scoped to .site-footer so leftover page CSS can't restyle it. */
@keyframes tjFooterTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.site-footer{--tjf-red:#C8262A;--tjf-red-on-dark:#e8484c;position:relative;overflow:hidden;display:block;margin:0;padding:0;text-align:left;background:linear-gradient(135deg,#001a4a 0%,#002768 100%);color:#fff;border-top:3px solid var(--tjf-red);font-family:"Archivo",sans-serif;line-height:normal}
.site-footer .footer-scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(0,26,74,.88) 0%,rgba(0,39,104,.84) 100%);z-index:0}
.site-footer .footer-video-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.6;z-index:0}
.site-footer .footer-content{position:relative;z-index:1}
.site-footer .footer-container{max-width:1240px;margin:0 auto;padding:0 32px}
.site-footer .footer-ticker{display:flex;gap:0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.3);margin:0;padding:20px 0;width:100%}
/* spacing lives on each item (not flex gap) so both halves are equal and -50% loops seamlessly */
.site-footer .ticker-track{display:flex;gap:0;white-space:nowrap;animation:tjFooterTicker 60s linear infinite}
.site-footer .footer-ticker:hover .ticker-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.site-footer .ticker-track{animation:none}}
.site-footer .ticker-item{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:14px;letter-spacing:.02em;color:var(--tjf-red-on-dark);font-weight:900;flex-shrink:0;margin:0;padding:0 60px 0 0}
.site-footer .ticker-item::after{content:"●";margin-left:60px;color:rgba(255,255,255,.3);font-size:6px}
.site-footer .footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding:60px 0;margin:0;align-items:start}
.site-footer .footer-section h3{font-family:"Archivo Black",sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 20px;font-weight:900;display:flex;align-items:center;gap:12px}
.site-footer .footer-section h3 img{width:100%;max-width:320px;height:auto;object-fit:contain;display:block}
.site-footer .footer-section h4{font-family:"Archivo",sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--tjf-red-on-dark);margin:0 0 16px;padding:0 0 8px;border-bottom:1px solid rgba(255,255,255,.15)}
.site-footer .footer-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.site-footer .footer-section li{margin:0;padding:0}
.site-footer .footer-section a{color:rgba(255,255,255,.75);text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;display:inline-block}
.site-footer .footer-section a:hover{color:var(--tjf-red)}
.site-footer .footer-brand p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.7);margin:0}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid rgba(255,255,255,.1);gap:32px;flex-wrap:wrap}
.site-footer .footer-bottom-copy{font-size:12px;color:rgba(255,255,255,.55)}
.site-footer .footer-contact{display:flex;align-items:center;gap:20px}
@media(min-width:769px){.site-footer .footer-contact{margin-right:180px}}
.site-footer .footer-phone{text-align:right}
.site-footer .footer-phone-label{font-family:"Archivo",sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:rgba(255,255,255,.6);margin-bottom:4px}
.site-footer .footer-phone-number{font-family:"Archivo Black",sans-serif;font-size:22px;font-weight:900;color:var(--tjf-red);text-decoration:none;letter-spacing:-.01em;transition:all .2s ease;display:inline-block}
.site-footer .footer-phone-number:hover{transform:scale(1.05)}
@media(max-width:1024px){.site-footer .footer-main{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:768px){
  .site-footer .footer-main{grid-template-columns:1fr;gap:40px}
  .site-footer .footer-bottom{flex-direction:column;align-items:flex-start}
  .site-footer .footer-phone{text-align:left}
}
