/* One organized footer across public pages, independent of card layouts. */
.site-footer { font-family:var(--bp-sans); }
.site-footer .bp-footer-grid { display:grid; grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(140px,1fr)); gap:32px 64px; padding-block:40px 32px; }
.bp-footer-intro { max-width:430px; }
.site-footer .bp-footer-brand { display:inline-block; color:#f1d4a2; font:600 25px/1.25 var(--bp-serif); text-decoration:none; margin-bottom:12px; }
.bp-footer-intro p { margin:0 0 12px; color:#d2d9e2; font:14px/1.65 var(--bp-sans); }
.bp-footer-intro .bp-footer-disclosure { color:#aab8c7; max-width:390px; font-size:13px; }
.site-footer .bp-footer-about { display:inline-block; margin-top:2px; color:#dfc392; font-size:13px; text-underline-offset:4px; }
.bp-footer-group { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.bp-footer-group h2 { margin:2px 0 6px; color:#e8cc9e; font:600 14px/1.4 var(--bp-sans); }
.site-footer .bp-footer-group a { color:#cbd5df; font:13px/1.55 var(--bp-sans); text-decoration:none; }
.site-footer a:hover { color:#f1d4a2; text-decoration:underline; text-underline-offset:4px; }
.site-footer a:focus-visible { outline:2px solid #dfc392; outline-offset:5px; border-radius:2px; }
.site-footer .bp-footer-bottom { border-top:1px solid #bda16c40; padding-top:20px; padding-bottom:8px; }
.bp-footer-age { display:flex; align-items:center; gap:12px; }
.bp-footer-age > span { display:flex; align-items:center; justify-content:center; flex:none; width:40px; height:40px; border:1px solid #bda16c70; border-radius:50%; color:#e8cc9e; font:600 13px/1 var(--bp-sans); }
.bp-footer-age p { margin:0; color:#aab8c7; font:12px/1.6 var(--bp-sans); }
.site-footer .bp-footer-inner { border-top:0; min-height:0; padding:20px 0 12px; gap:16px 24px; }
.site-footer .bp-footer-inner p,.site-footer .bp-footer-legal a,.site-footer .bp-footer-legal nav > span { color:#aab8c7; font:12px/1.6 var(--bp-sans); }
.site-footer .bp-footer-copyright { margin:0; white-space:nowrap; }
.site-footer .bp-footer-legal nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
@media(max-width:800px) {
 .site-footer .bp-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; padding-block:30px; }
 .bp-footer-intro { grid-column:1/-1; max-width:100%; }
 .bp-footer-intro .bp-footer-disclosure { max-width:520px; }
 .site-footer .bp-footer-inner { align-items:stretch; flex-direction:column; gap:20px; padding-block:20px 8px; }
 .site-footer .bp-footer-legal nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 20px; width:100%; }
 .site-footer .bp-footer-legal nav > * { display:flex; align-items:center; min-height:44px; padding-block:8px; }
 .site-footer .bp-footer-copyright { text-align:center; width:100%; padding-top:16px; border-top:1px solid #bda16c40; }
}
@media(max-width:420px) {
 .site-footer .bp-footer-grid { gap:26px 16px; }

 .bp-footer-age { align-items:flex-start; }
}
