/* Shared Kingsworth footer, scoped for the full site and policy pages. */
.kf-footer { display: block; padding: 2.5rem max(1.5rem, 6vw) 1.5rem; background: #000; color: #f7f2e4; font-family: Arial, sans-serif; line-height: 1.65; text-align: left; border-top: 1px solid #383226; }
.kf-footer * { box-sizing: border-box; }
.kf-footer-top { max-width: 85rem; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 2rem 4rem; }
.kf-footer-brand { display: block; width: min(100%, 28rem); line-height: 0; }
.kf-footer-brand img { display: block; width: 100%; height: auto; }
.kf-footer-social { min-width: 0; }
.kf-footer-heading { margin: 0 0 .75rem; color: #dfc573; font-size: .9375rem; font-weight: 600; }
.kf-social-list { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; list-style: none; padding: 0; margin: 0; }
.kf-social-item { display: flex; align-items: center; gap: .5rem; min-height: 2.75rem; font-size: .875rem; color: #f7f2e4; }
.kf-social-item img { display: block; width: 1.5rem; height: 1.5rem; }
.kf-footer .kf-social-note { max-width: 26rem; margin: .65rem 0 0; font-size: .875rem; color: #c7c4b7; font-style: normal; }
.kf-footer-bottom { max-width: 85rem; margin: 1.75rem auto 0; padding-top: 1.25rem; border-top: 1px solid #383226; display: flex; justify-content: space-between; flex-wrap: wrap; gap: .75rem 2rem; font-size: .875rem; color: #c7c4b7; }
.kf-footer-bottom p { margin: 0; }
.kf-footer-nav { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .25rem 1.5rem; }
.kf-footer a { color: inherit; text-decoration: none; }
.kf-footer-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0; text-decoration: underline; text-underline-offset: .3rem; text-decoration-color: #7a7159; }
.kf-footer-nav a:hover { color: #dfc573; text-decoration-color: #dfc573; }
.kf-footer a:focus-visible { outline: 3px solid #dfc573; outline-offset: 5px; }
@media (max-width: 760px) { .kf-footer-top { flex-direction: column; align-items: flex-start; gap: 1.5rem; } .kf-footer { padding: 2rem 1.5rem 1.25rem; } .kf-footer-bottom { flex-direction: column; gap: .5rem; } }
@media print { .kf-footer { display: none; } }

.kf-footer .kf-footer-bottom p { max-width: none; color: inherit; font-size: .875rem; line-height: 1.65; }
.kf-footer--compact { padding: 1rem max(1.5rem, 6vw); }
.kf-footer--compact .kf-footer-bottom { margin: 0 auto; padding: 0; border: 0; align-items: center; }
.kf-footer-nav a[aria-current="page"] { color: #dfc573; text-decoration-color: #dfc573; }
@media (max-width: 760px) { .kf-footer--compact .kf-footer-bottom { align-items: flex-start; } }
