/* =========================================================
   FOOTER.CSS
   Load this AFTER base.css, on every page that includes footer.php.
========================================================= */

footer.site-footer{background:var(--navy);color:#B9C4E4;padding:0 32px 28px;}
.foot-inner{max-width:1320px;margin:0 auto;}

/* newsletter strip */
.foot-newsletter{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding:36px 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.fn-text h4{font-family:var(--font-display);font-size:19px;font-weight:600;color:#fff;margin:0 0 6px;letter-spacing:-.015em;}
.fn-text p{font-size:13px;color:#9BAAD1;margin:0;}
.fn-form{display:flex;gap:10px;flex-shrink:0;}
.fn-form input{
  width:260px;padding:12px 16px;border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);
  color:#fff;font-size:13.5px;font-family:inherit;
}
.fn-form input::placeholder{color:#7C8CB3;}
.fn-form input:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.1);}

.foot-top{
  display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr 1.3fr;gap:32px;
  padding:44px 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.foot-brand .logo-text .word{color:#fff;}
.foot-brand .logo-mark{background:var(--accent);}
.foot-brand .logo-img-wrap{background:none;padding:0;}
.foot-brand .logo-img-wrap img{height:26px;}
.foot-brand p{font-size:13px;line-height:1.6;color:#8FA0C9;margin:14px 0 18px;max-width:250px;}
.foot-social{display:flex;gap:8px;margin-bottom:20px;}
.foot-social a{
  width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;color:#B9C4E4;text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.foot-social a:hover{background:var(--accent);color:#fff;}
.foot-social svg{width:15px;height:15px;}

.foot-badges{display:flex;gap:10px;flex-wrap:wrap;}
.fb-item{
  display:flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:600;color:#C7D2EE;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  padding:6px 10px;border-radius:99px;
}
.fb-item svg{width:13px;height:13px;color:#7FA3FF;}

.foot-col h4{font-size:12.5px;font-weight:600;color:#fff;letter-spacing:.04em;text-transform:uppercase;margin:0 0 16px;}
.foot-col a{display:block;font-size:13.5px;color:#9BAAD1;text-decoration:none;margin-bottom:11px;transition:color .15s ease;}
.foot-col a:hover{color:#fff;}

/* contact + map column */
.foot-contact h4{font-size:12.5px;font-weight:600;color:#fff;letter-spacing:.04em;text-transform:uppercase;margin:0 0 16px;}
.office-block{margin-bottom:14px;}
.office-tag{
  display:inline-block;
  font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#7FA3FF;
  background:rgba(127,163,255,.12);
  border:1px solid rgba(127,163,255,.25);
  padding:3px 9px;border-radius:99px;
  margin-bottom:7px;
}
.office-block .fc-row{margin-bottom:0;}
.fc-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:13px;color:#9BAAD1;line-height:1.5;}
.fc-row svg{width:16px;height:16px;color:#7FA3FF;flex-shrink:0;margin-top:1px;}
.fc-row a{color:#9BAAD1;text-decoration:none;transition:color .15s ease;}
.fc-row a:hover{color:#fff;}

.foot-map{
  position:relative;display:block;margin-top:14px;
  border-radius:var(--radius-md);overflow:hidden;
  border:1px solid rgba(255,255,255,.12);aspect-ratio:16/10;
}
.foot-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3) contrast(1.05);pointer-events:none;}
.foot-map::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,16,40,.55) 100%);}
.fm-pin{
  position:absolute;bottom:10px;left:10px;z-index:1;
  display:flex;align-items:center;gap:6px;
  background:var(--white);color:var(--accent-dark);
  font-size:12px;font-weight:700;
  padding:7px 12px;border-radius:99px;box-shadow:var(--shadow-sm);
}
.fm-pin svg{width:13px;height:13px;}

.foot-bottom{display:flex;align-items:center;justify-content:space-between;padding:22px 0;flex-wrap:wrap;gap:12px;}
.foot-bottom p{font-size:12.5px;color:#7C8CB3;margin:0;}
.foot-legal{display:flex;gap:18px;flex-wrap:wrap;}
.foot-legal a{font-size:12.5px;color:#7C8CB3;text-decoration:none;}
.foot-legal a:hover{color:#fff;}

.foot-credit{font-size:12.5px;color:#7C8CB3;margin:0;}
.foot-credit a{color:#9BAAD1;text-decoration:none;font-weight:600;transition:color .15s ease;}
.foot-credit a:hover{color:#fff;}

/* =========================================================
   RESPONSIVE — TABLET (≤1080px)
========================================================= */
@media (max-width: 1080px){
  .foot-top{grid-template-columns:1fr 1fr;gap:32px 24px;}
  .foot-brand,.foot-contact{grid-column:1 / -1;}
  .fn-form{width:100%;}
  .fn-form input{width:100%;flex:1;}
}

/* =========================================================
   RESPONSIVE — MOBILE (≤720px)
========================================================= */
@media (max-width: 720px){
  footer.site-footer{padding:0 20px 24px;}
  .foot-newsletter{flex-direction:column;align-items:flex-start;padding:28px 0;}
  .fn-form{width:100%;flex-direction:column;}
  .fn-form .cta{width:100%;justify-content:center;}
  .foot-top{grid-template-columns:1fr;gap:30px;padding:32px 0;}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
}