/* AR Footer 1.0 — hides theme footer (body.ar-custom-footer) and styles the custom one */
body.ar-custom-footer #colophon,
body.ar-custom-footer .site-footer,
body.ar-custom-footer footer.site-footer,
body.ar-custom-footer [data-elementor-type="footer"] { display: none !important; }

:root { --arf-f-navy:#0d1f4f; --arf-f-navy-2:#0a1840; --arf-f-muted:#a9b8dc; --arf-f-line:rgba(255,255,255,.12); }

.ar-footer-cta { background: linear-gradient(120deg, #1e3a6e, #16305c); color:#fff; }
.ar-footer-cta-inner { max-width:1180px; margin:0 auto; padding:56px 22px; display:flex; flex-wrap:wrap; gap:24px 40px; align-items:center; justify-content:space-between; }
.ar-footer-cta-text { margin:0; font-size:clamp(1.3rem,2.6vw,1.9rem); line-height:1.25; font-weight:700; max-width:640px; }
.ar-footer-cta-text span { color:#A9BDDD; }
.ar-footer-cta-actions { display:flex; flex-wrap:wrap; gap:12px; }
.ar-footer-btn { display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:999px; font-weight:700; text-decoration:none; transition:transform .3s cubic-bezier(.2,.7,.2,1), background .3s, box-shadow .3s; }
.ar-footer-btn:hover { transform:translateY(-2px); }
.ar-footer-btn-light { background:#fff; color:#1e3a6e; box-shadow:0 10px 24px rgba(0,0,0,.2); }
.ar-footer-btn-light:hover { box-shadow:0 14px 30px rgba(0,0,0,.28); }
.ar-footer-btn-ghost { border:2px solid rgba(255,255,255,.7); color:#fff; }
.ar-footer-btn-ghost:hover { background:rgba(255,255,255,.1); }

.ar-footer { background:var(--arf-f-navy); color:var(--arf-f-muted); font-size:15px; line-height:1.6; }
.ar-footer a { color:#dbe6ff; text-decoration:none; transition:color .25s; }
.ar-footer a:hover, .ar-footer a:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.ar-footer-grid { max-width:1180px; margin:0 auto; padding:56px 22px 40px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr; gap:40px; }
.ar-footer-logo { display:inline-block; font-size:1.35rem; font-weight:800; color:#fff !important; margin-bottom:12px; letter-spacing:-.01em; }
.ar-footer-tagline { margin:0 0 22px; max-width:340px; }
.ar-footer-loc-label { margin:0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#7f93c4; }
.ar-footer-loc { margin:4px 0 14px; color:#dbe6ff; }
.ar-footer-h { margin:0 0 16px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#7f93c4; }
.ar-footer-col ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ar-footer-link { color:#dbe6ff; }
.ar-footer-social { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.ar-footer-social a { width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.07); border:1px solid var(--arf-f-line); color:#dbe6ff; transition:transform .3s cubic-bezier(.2,.7,.2,1), background .3s, color .3s; }
.ar-footer-social a:hover, .ar-footer-social a:focus-visible { background:#fff; color:var(--arf-f-navy); transform:translateY(-3px); text-decoration:none; }

.ar-footer-bottom { border-top:1px solid var(--arf-f-line); background:var(--arf-f-navy-2); }
.ar-footer-bottom { max-width:none; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px 28px; padding:20px 22px; }
.ar-footer-bottom p { margin:0; font-size:14px; color:#8ea2cf; }
.ar-footer-legal { display:flex; gap:22px; flex-wrap:wrap; }
.ar-footer-legal a { font-size:14px; color:#8ea2cf; }
.ar-footer-legal a:hover { color:#fff; }

:focus-visible { outline:2px solid #A9BDDD; outline-offset:3px; }

@media (max-width: 960px) {
  .ar-footer-grid { grid-template-columns:1fr 1fr; gap:36px 28px; }
  .ar-footer-brand { grid-column:1 / -1; }
}
@media (max-width: 560px) {
  .ar-footer-grid { grid-template-columns:1fr; padding:40px 20px 28px; }
  .ar-footer-cta-inner { padding:40px 20px; }
  .ar-footer-btn { width:100%; justify-content:center; }
  .ar-footer-bottom { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .ar-footer-btn, .ar-footer-social a { transition:none !important; }
  .ar-footer-btn:hover, .ar-footer-social a:hover { transform:none; }
}

/* ---------- Follow row (social profiles) ---------- */
.ar-footer-follow { margin-top:26px; }
.ar-footer-follow-label { margin:0 0 12px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#7f93c4; }
.ar-footer-social { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.ar-footer-soc {
  display:inline-flex; align-items:center; gap:9px; padding:9px 14px 9px 10px; border-radius:999px;
  background:rgba(255,255,255,.06); border:1px solid var(--arf-f-line); color:#dbe6ff; font-size:14px; font-weight:600; text-decoration:none;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), background .3s, color .3s, border-color .3s;
}
.ar-footer-soc svg { width:30px; height:30px; padding:6px; box-sizing:border-box; border-radius:50%; background:rgba(255,255,255,.1); }
.ar-footer-soc:hover, .ar-footer-soc:focus-visible { background:#3B82F6; border-color:#3B82F6; color:#fff; transform:translateY(-3px); text-decoration:none; }
.ar-footer-soc:focus-visible { outline:2px solid #A9BDDD; outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { .ar-footer-soc { transition:none !important; } .ar-footer-soc:hover { transform:none; } }
