/* Shared Elementor footer. Its classes keep these rules outside page content. */
.elementor-location-footer:has(.b29-footer){padding-bottom:0!important;background:#2f5d73}
.elementor-location-footer .b29-footer{color:#fff;background:#2f5d73}
.b29-footer,.b29-footer *,.b29-footer *::before,.b29-footer *::after{box-sizing:border-box}
.b29-footer .b29-footer-surface{padding-block:48px 24px!important;border:0!important}
/* Match the legacy Home selector so the shared gutter also wins on small screens. */
body .elementor-location-footer .b29-footer .b29-footer-surface{padding-inline:max(20px,5%)!important}
.b29-footer .b29-footer-inner{max-width:none!important;width:100%!important;margin:0!important}
.b29-footer .b29-footer-grid{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px)!important;align-items:start!important}
.b29-footer .b29-footer-grid>div,.b29-footer .b29-footer-grid>nav{min-width:0!important;width:auto!important;padding:0!important}
.b29-footer .b29-footer-brand{display:grid;justify-items:start;gap:12px}
.b29-footer .b29-footer-logo{width:180px!important;max-width:100%;height:auto!important;margin:0!important;aspect-ratio:570/435}
.b29-footer .b29-footer-social-widget{margin:18px 0 0!important}
.b29-footer .b29-footer-socials{display:flex;gap:10px}
.b29-footer .b29-footer-social{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;color:#fff!important;text-decoration:none!important;transition:background-color .18s,border-color .18s,color .18s}
.b29-footer .b29-footer-social svg{width:22px!important;height:22px!important;display:block}
.b29-footer a.b29-footer-social:is(:hover,:focus-visible){background:#d8e7bb;color:#14323f!important;border-color:#d8e7bb}
.b29-footer .b29-footer-title{margin:0 0 14px!important;padding:0!important;font-family:Gotham,Arial,sans-serif!important;font-size:12px!important;line-height:1.5!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase;color:#fff!important}
.b29-footer .b29-footer-link{margin:0!important;padding:0!important;font-size:15px!important;line-height:1.5!important}
.b29-footer .b29-footer-link>a{box-sizing:border-box!important;display:inline-flex!important;align-items:center;min-height:40px;padding:7px 0!important;color:#fff!important;text-decoration:underline!important;text-decoration-color:#ffffff73!important;text-underline-offset:5px;text-decoration-thickness:1px}
.b29-footer .b29-footer-contact-copy{max-width:29ch;margin:0 0 14px!important;padding:0!important;font-size:15px!important;line-height:1.7!important;color:#fff!important}
.b29-footer .b29-footer-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center!important;gap:12px 32px!important;margin:32px 0 0!important;padding:16px 0 0!important;border-top:1px solid #a8ceb566!important}
.b29-footer .b29-footer-copyright{font-size:13px;line-height:1.6;color:#fff}
.b29-footer .b29-footer-policies{display:flex;align-items:center;flex-wrap:wrap;gap:0 24px;font-size:13px;line-height:1.6}
.b29-footer .b29-footer-policy{display:inline-flex;align-items:center;min-height:44px;color:#fff!important;text-underline-offset:4px;text-decoration-thickness:1px}
.b29-footer a.b29-footer-policy{text-decoration:underline}
.b29-footer .b29-footer-pending{opacity:.75;cursor:default}
.b29-footer .b29-footer-credits{margin:0!important;padding:0!important;font-size:12px!important;line-height:1.6!important}
.b29-footer .b29-footer-credits>a{display:inline-flex!important;align-items:center;min-height:44px;padding:0!important;font-size:12px!important;color:#fff!important;text-transform:none!important;text-decoration:underline!important;text-underline-offset:4px}
.b29-footer :is(a,button):focus-visible{outline:2px solid #d8e7bb!important;outline-offset:5px!important}
.b29-footer .b29-footer-link>a:is(:hover,:focus-visible),.b29-footer .b29-footer-policy:is(:hover,:focus-visible),.b29-footer .b29-footer-credits>a:is(:hover,:focus-visible){color:#d8e7bb!important;text-decoration-color:currentColor!important}
@media(max-width:1024px){
 .b29-footer .b29-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:28px!important}
 .b29-footer .b29-footer-logo{width:160px!important}
 .b29-footer .b29-footer-bottom{grid-template-columns:minmax(0,1fr) auto;gap:4px 24px!important}
 .b29-footer .b29-footer-policy-widget{grid-column:1;grid-row:2}
 .b29-footer .b29-footer-credits{grid-column:2;grid-row:1;align-self:center}
}
@media(max-width:767px){
 .b29-footer .b29-footer-surface{padding-block:32px 24px!important}
 .b29-footer .b29-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 24px!important}
 .b29-footer .b29-footer-brand{grid-column:1 / -1}
 .b29-footer .b29-footer-logo{width:140px!important}
 .b29-footer .b29-footer-title{margin-bottom:12px!important;font-size:11px!important;letter-spacing:.08em!important}
 .b29-footer .b29-footer-link{font-size:14px!important}
 .b29-footer .b29-footer-link>a{min-height:44px}
 .b29-footer .b29-footer-contact-copy{font-size:14px!important;line-height:1.6!important;margin-bottom:10px!important}
 .b29-footer .b29-footer-bottom{margin-top:24px!important;padding-top:16px!important;column-gap:16px!important}
 .b29-footer .b29-footer-copyright{font-size:12px}
 .b29-footer .b29-footer-policies{font-size:12px;column-gap:20px}
}
@media(max-width:359px){
 .b29-footer .b29-footer-grid{column-gap:16px!important}
 .b29-footer .b29-footer-logo{width:116px!important}
 .b29-footer .b29-footer-title{font-size:10px!important;letter-spacing:.04em!important}
}
@media(prefers-reduced-motion:reduce){.b29-footer .b29-footer-social{transition:none}}

/* Footer visibility for the existing live homepage decorations. */
body.b29-revision .b29-v2-rail[hidden],body.b29-revision .b29-rev-heart[hidden]{display:none!important}
