/* Contact, brand and map share equal columns so the logo sits in the middle. */
/* Width applies to Footer content only; boxed layouts keep their existing caps. */
.site-footer.site-footer--full-width>.container,.site-footer.site-footer--full-width>.footer-bottom-strip>.container{width:calc(100% - 48px);max-width:none}
@media(max-width:480px){.site-footer.site-footer--full-width>.container,.site-footer.site-footer--full-width>.footer-bottom-strip>.container{width:calc(100% - 36px)}}
.site-footer.site-footer--three-column{padding:0;background:#050505}
.footer-main{padding-block:68px}
.footer-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);align-items:center}
.footer-three-grid--columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-three-grid--columns-1{grid-template-columns:minmax(0,1fr)}
.footer-three-grid>*{min-width:0;overflow-wrap:anywhere}
.footer-heading{margin:0 0 16px;font:750 .7rem/1.4 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--tb-gold)}
.footer-details p{margin:8px 0;color:var(--tb-muted);font-size:.9rem;line-height:1.65}
.footer-hours{margin-top:30px}
.footer-hours:first-child{margin-top:0}
.footer-hours p span{color:var(--tb-ivory)}
.footer-details a:hover,.footer-map-link:hover,.footer-designer a:hover{color:var(--tb-gold)}
.footer-brand--centered{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px}
.footer-brand--centered .footer-logo{margin:0;max-width:100%}
.footer-brand--centered .footer-logo .brand-link{justify-content:center}
.footer-brand--centered .footer-logo .brand-logo{max-width:100%;max-height:240px;object-fit:contain}
.footer-motto{max-width:24ch;margin:0;font:italic clamp(1.4rem,2.1vw,2rem)/1.3 Georgia,"Times New Roman",serif;letter-spacing:-.025em;color:var(--tb-ivory);text-wrap:balance}
.footer-map-frame{display:block;border:1px solid var(--tb-line);border-radius:12px;width:100%;height:280px;background:var(--tb-surface);color-scheme:normal}
.footer-map-link{display:inline-flex;align-items:center;gap:5px;margin-top:13px;color:var(--tb-muted);font-size:.8rem}
.footer-bottom-strip{width:100%;background:#0d0c0a;border-top:1px solid var(--tb-line)}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:21px;color:var(--tb-muted);font-size:.75rem;overflow-wrap:anywhere}
.footer-designer{margin-left:auto;text-align:right}
.site-footer.site-footer--three-column.site-footer--empty{padding:0;border:0}
@media(max-width:800px){
    .footer-main{padding-block:48px}
    .footer-three-grid,.footer-three-grid--columns-2{grid-template-columns:minmax(0,1fr);gap:42px}
    .footer-brand--centered{padding-block:6px}
    .footer-brand--centered .footer-logo .brand-logo{max-height:210px}
    .footer-motto{font-size:1.7rem}
    .footer-map-frame{height:280px}
}
@media(max-width:700px){
    .footer-bottom-inner{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
}
@media(max-width:480px){
    .footer-bottom-inner{flex-wrap:wrap;gap:8px}
    .footer-copyright,.footer-designer{flex:1 1 100%}
    .footer-designer{margin-left:0;text-align:left}
}
