/* Shared announcement and public footer. Load after each page's base styles. */
.announcement.lb-shell-announcement{position:relative;height:auto;min-height:48px;padding:10px 64px;isolation:isolate}
.announcement[hidden]{display:none!important}
.announcement.lb-shell-announcement>a{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 7px;max-width:100%;min-height:28px;font-size:14px;line-height:1.75;text-align:center;overflow-wrap:anywhere}
.announcement.lb-shell-announcement>a>.lb-announcement-lead{display:inline;margin:0;font-size:inherit;line-height:inherit}
.announcement.lb-shell-announcement>a>strong{font-size:inherit;line-height:inherit}
.announcement.lb-shell-announcement>.lb-announcement-close{position:absolute;right:12px;top:50%;display:grid;place-items:center;transform:translateY(-50%);width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:28px;font-weight:400;line-height:1;cursor:pointer;touch-action:manipulation}
.announcement.lb-shell-announcement>.lb-announcement-close:hover{background:#ffffff1f}
.announcement.lb-shell-announcement>.lb-announcement-close:focus-visible{outline:2px solid currentColor;outline-offset:-4px;background:#ffffff1f}

.footer.lb-shell-footer{padding-block:44px 32px;background:#f6f8fc;border-top:1px solid #e1e7f0;color:#56637a}
.footer.lb-shell-footer .footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:28px 40px}
.footer.lb-shell-footer .footer-top .logo{display:inline-flex;align-items:center;min-height:44px}
.footer.lb-shell-footer .footer-top>div>p{max-width:34ch;margin-top:9px;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.footer.lb-shell-footer .footer-top>nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px 22px;margin:0;padding:0}
.footer.lb-shell-footer .footer-top>nav>a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;color:#47546b;font-size:14px;font-weight:650;line-height:1.7;white-space:normal}
.footer.lb-shell-footer .lb-footer-base{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,230px);align-items:start;gap:28px 48px;margin-top:28px;padding-top:28px;border-top:1px solid #dfe6ef}
.footer.lb-shell-footer .lb-company-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;min-width:0;margin:0;padding:0;font-size:14px;line-height:1.85;color:#56637a}
.footer.lb-shell-footer .lb-company-item{display:grid;grid-template-columns:minmax(0,106px) minmax(0,1fr);align-items:start;gap:8px;min-width:0;margin:0}
.footer.lb-shell-footer .lb-company-item dt{min-width:0;margin:0;padding:0;color:#45526a;font-size:14px;font-weight:650;line-height:1.85}
.footer.lb-shell-footer .lb-company-item dd{min-width:0;margin:0;padding:0;color:#56637a;font-size:14px;font-weight:400;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.footer.lb-shell-footer .lb-company-item:nth-child(3),.footer.lb-shell-footer .lb-company-address{grid-column:1/-1}
.footer.lb-shell-footer .lb-company-unlabelled{grid-template-columns:minmax(0,1fr)}
.footer.lb-shell-footer .lb-company-phone{align-items:center}
.footer.lb-shell-footer .lb-company-phone a{display:inline-flex;align-items:center;min-height:44px;color:#2455bc;font-size:15px;font-weight:650;white-space:normal;overflow-wrap:anywhere}
.footer.lb-shell-footer .lb-footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:0;margin:0;padding:0;border:0;text-align:right;font-size:14px;line-height:1.75}
.footer.lb-shell-footer .lb-footer-meta>a{display:inline-flex;align-items:center;justify-content:center;order:0;min-height:44px;max-width:100%;margin:0;padding:9px 12px;border:1px solid transparent;border-radius:10px;color:#435570;font-size:14px;font-weight:650;line-height:1.7;text-align:center;white-space:normal;overflow-wrap:anywhere}
.footer.lb-shell-footer .lb-footer-meta>a[href*="policies.php"]{border-color:#d6e0ef;background:#fff;color:#2455bc}
.footer.lb-shell-footer .lb-footer-meta>.lb-footer-copyright{order:2;display:block;flex-basis:auto;max-width:100%;margin-top:5px;color:#657087;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.footer.lb-shell-footer a:hover{color:#2455bc}
.footer.lb-shell-footer a:focus-visible{outline:3px solid #2455bc;outline-offset:4px;border-radius:5px}
html{scroll-padding-bottom:calc(var(--lb-shell-bar-space,0px) + 16px)}

@media(max-width:900px){
  .footer.lb-shell-footer .footer-top{flex-direction:column;gap:20px}
  .footer.lb-shell-footer .lb-footer-base{grid-template-columns:minmax(0,1fr);gap:24px}
  .footer.lb-shell-footer .lb-footer-meta{align-items:flex-start;text-align:left}
}
@media(max-width:700px){
  .announcement.lb-shell-announcement{min-height:72px;padding:12px 60px 12px 16px}
  .announcement.lb-shell-announcement>a{display:block;min-height:0;font-size:14px;line-height:1.75;text-align:left;word-break:keep-all;overflow-wrap:anywhere}
  .announcement.lb-shell-announcement>a>.lb-announcement-lead,.announcement.lb-shell-announcement>a>strong{display:block;font-size:14px;line-height:1.75}
  .announcement.lb-shell-announcement>a>span:not(.lb-announcement-lead){display:none}
  .announcement.lb-shell-announcement>.lb-announcement-close{right:8px}
  .footer.lb-shell-footer{padding-top:34px;padding-bottom:calc(32px + var(--lb-shell-bar-space,84px))}
  .footer.lb-shell-footer .footer-top{gap:24px}
  .footer.lb-shell-footer .footer-top>div>p{max-width:30ch;margin-top:8px;line-height:1.85}
  .footer.lb-shell-footer .footer-top>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;width:100%}
  .footer.lb-shell-footer .footer-top>nav>a{min-width:0;min-height:44px;padding:9px 0;line-height:1.7}
  .footer.lb-shell-footer .lb-footer-base{gap:24px;margin-top:26px;padding-top:26px}
  .footer.lb-shell-footer .lb-company-details{grid-template-columns:minmax(0,1fr);gap:12px}
  .footer.lb-shell-footer .lb-company-item{grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:12px;grid-column:auto}
  .footer.lb-shell-footer .lb-company-item dt,.footer.lb-shell-footer .lb-company-item dd{font-size:14px;line-height:1.85}
  .footer.lb-shell-footer .lb-company-unlabelled{grid-template-columns:minmax(0,1fr)}
  .footer.lb-shell-footer .lb-company-phone a{font-size:15px}
  .footer.lb-shell-footer .lb-footer-meta{gap:9px;width:100%;padding-top:22px;border-top:1px solid #dfe6ef}
  .footer.lb-shell-footer .lb-footer-meta>a{justify-content:flex-start;min-height:46px;padding:10px 14px}
  .footer.lb-shell-footer .lb-footer-meta>a[href*="policies.php"]{width:100%}
  .footer.lb-shell-footer .lb-footer-meta>.lb-footer-copyright{margin-top:8px;font-size:14px;line-height:1.85}
  .mobile-cta,.project-mobile-actions{box-sizing:border-box;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #dfe6ef;background:#fff;box-shadow:0 -4px 20px #1733630a}
  .mobile-cta{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
  .mobile-cta>a,.project-mobile-actions>a{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:52px;margin:0;padding:10px;border:0;border-radius:11px;background:#eef3ff;color:#2455bc;font-size:16px;font-weight:700;line-height:1.6;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
  .mobile-cta>a:first-child,.project-mobile-actions>a:first-child{background:#eef3ff;color:#2455bc}
  .mobile-cta>a:last-child,.project-mobile-actions>a:last-child{background:#3268ed;color:#fff}
  .mobile-cta>a>span,.project-mobile-actions>a>span[aria-hidden]{font-size:20px;line-height:1}
}
@media(max-width:600px){
  .project-mobile-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
}
@media(max-width:350px){
  .announcement.lb-shell-announcement{padding-left:12px;padding-right:56px}
  .announcement.lb-shell-announcement>.lb-announcement-close{right:5px}
  .footer.lb-shell-footer .lb-company-item{grid-template-columns:minmax(0,1fr);gap:1px}
  .footer.lb-shell-footer .lb-company-details{gap:14px}
  .footer.lb-shell-footer .lb-company-phone a{min-height:44px}
  .footer.lb-shell-footer .lb-company-unlabelled{gap:0}
}
