/* ==========================================================
   FOOTER
   ========================================================== */
.ld-footer{background:#063a52;padding:64px 0 28px}
.ld-foot-grid{display:grid;grid-template-columns:1.2fr 1.6fr;gap:56px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.1)}
.ld-foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
/* The logo art has a transparent interior, so it needs an opaque light backing
   to stay legible against the dark footer. */
.ld-foot-logo{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:8px 10px;flex-shrink:0}
.ld-foot-logo-img{height:56px;width:auto;display:block}
.ld-foot-brand-name{font-weight:800;font-size:20px;color:#fff;letter-spacing:0.5px}
.ld-foot-desc{font-size:13px;line-height:1.7;color:rgba(255,255,255,0.55);max-width:280px}

.ld-foot-contact{margin-top:28px}
.ld-foot-contact-label{font-size:12px;font-weight:700;color:#fff;margin-bottom:16px}
.ld-foot-contact-items{display:flex;gap:20px;flex-wrap:wrap}
.ld-foot-contact-item{display:flex;align-items:center;gap:12px}
.ld-foot-contact-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0098db 0%,#0078ad 100%);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ld-foot-contact-sub{font-size:11px;font-weight:600;letter-spacing:0.4px;text-transform:uppercase;color:rgba(255,255,255,0.45)}
.ld-foot-contact-value{display:block;font-size:15px;font-weight:700;color:#fff}
a.ld-foot-contact-value:hover{color:#bbdbf2}
.ld-foot-contact-value.ld-todo{font-size:13px;font-weight:400;font-style:italic;color:rgba(255,255,255,0.5)}

.ld-foot-right{display:flex;flex-direction:column;gap:40px}
.ld-foot-newsletter-row{display:flex;gap:12px;margin-top:20px}
.ld-foot-newsletter-input{-webkit-appearance:none;appearance:none;flex:1;min-width:0;border:0;border-radius:100px;padding:14px 22px;font-size:14px;font-family:inherit;color:#063a52;background:#fff;outline:none}
.ld-foot-newsletter-input::placeholder{color:#8ea3ad}
/* .ld-foot-newsletter-input:focus-visible{box-shadow:0 0 0 3px rgba(0,152,219,0.5)} */
.ld-foot-newsletter-btn{-webkit-appearance:none;appearance:none;border:0;border-radius:100px;padding:14px 28px;font-size:14px;font-weight:700;font-family:inherit;color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#0098db 0%,#0078ad 100%);outline:none}
.ld-foot-newsletter-btn:focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,0.6)}
.ld-foot-newsletter-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}

.ld-foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ld-foot-col-title{font-size:12px;font-weight:700;color:#fff;margin-bottom:16px}
.ld-foot-col-links{display:flex;flex-direction:column;gap:11px}
.ld-foot-link{font-size:13px;color:rgba(255,255,255,0.6)}

/* Branch addresses — the doc closes both the About and Services pages with
   these, and the nav's "Contact" anchor lands on this footer. */
.ld-foot-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}
.ld-foot-branch{background:rgba(255,255,255,0.05);border-radius:16px;padding:22px 24px}
.ld-foot-branch-name{font-size:13px;font-weight:700;color:#fff;margin-bottom:8px}
.ld-foot-branch-addr{font-size:13px;line-height:1.7;color:rgba(255,255,255,0.6);font-style:normal}
.ld-foot-branch-addr.ld-todo{font-style:italic}

.ld-foot-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:28px;flex-wrap:wrap;gap:16px}
.ld-foot-copyright{font-size:12px;color:rgba(255,255,255,0.4)}
.ld-foot-tagline{font-size:12px;font-weight:600;color:#bbdbf2}

/* ==========================================================
   RESPONSIVE
   Additive only — mirrors the breakpoint stops in style.css.
   Stops: 900 / 620 / 560
   ========================================================== */

@media (max-width:900px){
  .ld-foot-grid{grid-template-columns:minmax(0,1fr);gap:40px}
}

@media (max-width:620px){
  .ld-footer{padding:52px 0 24px}
  .ld-foot-branches{grid-template-columns:minmax(0,1fr)}
  .ld-foot-bottom{justify-content:flex-start}
  .ld-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ld-foot-newsletter-row{flex-direction:column}
}

@media (max-width:560px){
  .ld-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .ld-foot-cols>div:last-child{grid-column:1/-1}
  .ld-foot-contact-items{flex-direction:column;gap:16px}
}
