/* Sitewide footer. Generated markup lives in scripts/build_footer.py */
.bd-footer{background:#2B2B2B;color:#F4F4EF;border-top:0;padding:0;margin:0;text-align:left;font-size:15px;line-height:1.5}
.bd-footer *{box-sizing:border-box}
.bd-footer a{color:inherit;text-decoration:none;font-weight:400}
.bd-footer nav{display:block;position:static;background:none;padding:0;margin:0;border:0;box-shadow:none;height:auto;width:auto}
.bd-footer .sf-wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* Call-to-action band */
.bd-footer .sf-cta{background:#A7D51E;color:#2B2B2B}
.bd-footer .sf-cta .sf-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:36px;padding-bottom:36px}
.bd-footer .sf-cta h2{margin:0 0 6px;font-size:1.6rem;line-height:1.2;letter-spacing:-.01em;color:#2B2B2B}
.bd-footer .sf-cta p{margin:0;font-size:1rem;max-width:560px;color:#2B2B2B}
.bd-footer .sf-cta-actions{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.bd-footer .sf-btn{display:inline-flex;text-decoration:none;align-items:center;gap:8px;background:#2B2B2B;color:#fff;font-weight:700;padding:13px 22px;border-radius:999px;white-space:nowrap}
.bd-footer .sf-btn:hover{background:#000}
.bd-footer .sf-cta-mail{font-weight:600;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}

/* Link columns */
.bd-footer .sf-main .sf-wrap{display:grid;grid-template-columns:1.35fr 1.15fr 1.25fr 1fr 1fr;gap:36px;padding-top:56px;padding-bottom:44px}
.bd-footer .sf-logo{display:block;width:200px;height:48px;overflow:hidden}
.bd-footer .sf-logo img{display:block;width:200px;height:200px;max-width:none;margin-top:-82px}
.bd-footer .sf-brand p{margin:16px 0 0;color:#CFCFC8;font-size:.92rem;max-width:280px}
.bd-footer .sf-platforms{margin-top:14px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A7D51E}
.bd-footer .sf-contact{display:inline-block;font-weight:600;margin-top:16px;font-weight:600;font-size:.92rem;border-bottom:1px solid rgba(167,213,30,.6)}
.bd-footer .sf-contact:hover{color:#A7D51E}
.bd-footer h3{margin:0 0 14px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A7D51E}
.bd-footer ul{list-style:none;margin:0;padding:0}
.bd-footer li{margin:0 0 10px;padding:0}
.bd-footer li a{color:#E9E9E3;font-size:.92rem}
.bd-footer li a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.bd-footer li a.sf-all{color:#A7D51E;font-weight:600}
.bd-footer .sf-btn{font-weight:700}

/* Legal row */
.bd-footer .sf-bottom{border-top:1px solid rgba(255,255,255,.12)}
.bd-footer .sf-bottom .sf-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:22px;font-size:.82rem;color:#BDBDB5}
.bd-footer nav.sf-legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.bd-footer .sf-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

@media (max-width:980px){
  .bd-footer .sf-main .sf-wrap{grid-template-columns:1fr 1fr 1fr;row-gap:40px}
  .bd-footer .sf-brand{grid-column:1/-1}
}
@media (max-width:680px){
  .bd-footer .sf-cta .sf-wrap{flex-direction:column;align-items:flex-start;padding-top:30px;padding-bottom:30px}
  .bd-footer .sf-cta h2{font-size:1.35rem}
  .bd-footer .sf-cta-actions{flex-direction:column;align-items:flex-start;gap:12px}
  .bd-footer .sf-main .sf-wrap{grid-template-columns:1fr 1fr;gap:32px 20px;padding-top:40px}
  .bd-footer .sf-bottom .sf-wrap{flex-direction:column;align-items:flex-start}
}
