:root{
  --ap-ink:        #0B1220;
  --ap-accent:     #2563EB;
  --ap-accent-on-dark:#8AB4FF;
  --ap-font-head: 'Plus Jakarta Sans', 'Inter', ui-sans-serif, system-ui, sans-serif;
  --ap-font-body: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

footer.ap-footer .ap-container,
.ap-footer .ap-container{ max-width:1200px; margin-left:auto; margin-right:auto; padding-left:32px; padding-right:32px; }

footer.ap-footer{ margin-top:0; background:var(--ap-ink); font-family:var(--ap-font-body); }
.l-main:has(+ footer.ap-footer), .l-canvas:has(footer.ap-footer) > .l-main{ padding-bottom:96px; }
.ap-footer-top{
  display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px;
  padding-top:64px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08);
}
.ap-footer-brand p{ color:rgba(255,255,255,.6); font-size:14px; line-height:1.65; margin-top:14px; max-width:36ch; }
.ap-footer-col h4{ font-family:var(--ap-font-body); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.45); margin:0 0 16px; }
.ap-footer-col ul{ display:flex; flex-direction:column; gap:12px; list-style:none; margin:0; padding:0; }
.ap-footer-col li{ margin:0; }
.ap-footer-col a{ font-size:14px; color:rgba(255,255,255,.75); transition:color .15s; text-decoration:none; }
.ap-footer-col a:hover{ color:#fff; }
.ap-footer-bottom{ padding-top:24px; padding-bottom:24px; text-align:center; font-size:13px; color:rgba(255,255,255,.45); }

.ap-footer .ap-nav-logo{ display:flex; align-items:center; gap:0; font-family:var(--ap-font-head); font-weight:800; font-size:19px; letter-spacing:-0.02em; text-decoration:none; }
.ap-footer .ap-nav-logo .p1{ color:#fff; }
.ap-footer .ap-nav-logo .p2{ color:var(--ap-accent-on-dark); }
.ap-footer .ap-logo-mark{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:6px; background:transparent; margin-right:9px; flex-shrink:0; }
.ap-footer .ap-logo-mark img{ display:block; width:100%; height:100%; }

@media (max-width:900px){
  footer.ap-footer .ap-container, .ap-footer .ap-container{ padding-left:20px; padding-right:20px; }
}
@media (max-width:640px){
  .ap-footer-top{ grid-template-columns:1fr 1fr; gap:28px 20px; padding-top:44px; padding-bottom:32px; }
  .ap-footer-brand{ grid-column:1 / -1; }
}
