footer{ background:var(--brand-deep); color:#fff; border-radius:var(--radius-card-lg); margin-top:0.75rem; padding:3.5rem 1.5rem; }
@media (min-width:640px){ footer{ padding:4rem 2.5rem; } }
.foot-cta{ border-bottom:1px solid rgba(255,255,255,0.15); padding-bottom:3.5rem; display:flex; flex-direction:column; gap:1.5rem; }
@media (min-width:640px){ .foot-cta{ flex-direction:row; justify-content:space-between; align-items:flex-end; } }
.foot-cta h2{ font-size:3.75rem; font-weight:500; line-height:0.92; letter-spacing:-0.01em; margin-top:1rem; }
@media (min-width:640px){ .foot-cta h2{ font-size:4.5rem; } }
.foot-cols{ padding:3.5rem 0; display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:768px){ .foot-cols{ grid-template-columns:1.4fr 1fr 1fr 1fr; } }
.foot-brand{ max-width:20rem; }
.foot-brand-mark{ display:flex; align-items:center; gap:0.5rem; font-size:1.25rem; }
.foot-brand p{ font-size:0.875rem; color:rgba(255,255,255,0.65); margin-top:1rem; line-height:1.6; }
.foot-brand address{ font-style:normal; margin-top:1.5rem; color:rgba(255,255,255,0.8); font-size:0.875rem; display:flex; flex-direction:column; gap:0.4rem; }
.foot-brand address a:hover{ text-decoration:underline; }
.foot-muted{ color:rgba(255,255,255,0.55) !important; }
.foot-nav h4{ font-size:0.75rem; font-weight:500; text-transform:uppercase; letter-spacing:0.2em; color:rgba(255,255,255,0.5); }
.foot-nav ul{ font-size:0.875rem; color:rgba(255,255,255,0.8); margin-top:0.9rem; display:flex; flex-direction:column; gap:0.75rem; }
.foot-nav a:hover{ text-decoration:underline; }
.foot-bottom{
  border-top:1px solid rgba(255,255,255,0.15); padding-top:2rem; font-size:0.875rem; color:rgba(255,255,255,0.6);
  display:flex; flex-direction:column; gap:1.25rem;
}
@media (min-width:640px){ .foot-bottom{ flex-direction:row; justify-content:space-between; align-items:center; } }
.foot-social, .foot-legal{ display:flex; gap:1.25rem; }
.foot-social a:hover, .foot-legal a:hover{ color:#fff; }
