/* Footer */
footer{padding:28px 0;color:#0b0c0f}
.foot-cols{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.foot-cols a{color:#0b0c0f;text-decoration:none}
.foot-cols a:hover{color:var(--accent)}
.sep{height:1px;background:var(--line);margin:22px 0}

/* ===== Footer ===== */
.site-footer{
  margin-top: 48px;
  background: linear-gradient(180deg, #3d4e6f 0%, #1b2f53 100%);
  color: #e9eef6;
  position: relative;
  overflow: hidden;
}

.site-footer a{ color: #e9eef6; text-decoration: none; }
.site-footer a:hover{ color: #8edbff; }

.footer-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 20px 28px;
  display: grid;
  gap: 28px;
  grid-template-columns: 1fr;               /* mobile: stack */
}

.footer-col h4{
  margin: 0 0 10px;
  font-size: 16px;
  letter-spacing: .3px;
  color: #cfe0f5;
}

.footer-col ul{ list-style: none; padding: 0; margin: 0; }
.footer-col li{ margin: 8px 0; }

.footer-brand{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-logo{
  height: 36px;
  width: auto;
  filter: drop-shadow(0 0 0 transparent);  /* keep crisp on dark bg */
}

.footer-tagline{
  margin: 0;
  color: #c9d6ea;
  font-size: 14px;
}

.btn.footer-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 10px 14px;
  border-radius: 10px;
  background: #8edbff; 
  color:#04203a;
  font-weight: 600;
  margin-top: 4px;
  align-self: center;
}
.btn.footer-cta:hover{ background: #00d5ff; color: #0b233f;}

.footer-notes{
  color: #c9d6ea;
  font-size: 14px;
}

.footer-bottom{
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1120px;
  margin: 0 auto;
  padding: 14px 20px 22px;
  font-size: 14px;
  color: #c9d6ea;
}

.footer-bottom a{ color: #cfe0f5; }
.footer-bottom a:hover{ color: #8edbff; }

.bottom-right{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Larger screens: 4 columns */
@media (min-width: 900px){
  .footer-inner{
    grid-template-columns: 1.2fr .8fr .8fr .8fr;
    align-items: start;
  }
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce){
  .btn.footer-cta{ transition: none; }
}
