body.nav-authenticated footer.site-footer { display:block !important; }
html, body { overflow-x:hidden; }
footer.site-footer { position:relative; width:100%; max-width:100vw; height:auto; min-height:360px; display:block; padding:0 0 4px; background:#fff; color:#526b92; overflow:hidden; }
footer.site-footer::before { content:""; position:absolute; z-index:0; left:-5%; right:-5%; bottom:38px; height:112px; pointer-events:none; opacity:.72; background:radial-gradient(70% 95% at 10% 100%,#dcecff 0 55%,transparent 56%),radial-gradient(64% 95% at 43% 100%,#edf6ff 0 55%,transparent 56%),radial-gradient(64% 95% at 77% 100%,#dcecff 0 55%,transparent 56%); background-size:55% 100%,55% 100%,55% 100%; background-position:0 0,32% 0,68% 0; animation:footer-wave-drift 12s ease-in-out infinite alternate; }
footer.site-footer::after { content:""; position:absolute; z-index:0; left:-5%; right:-5%; bottom:42px; height:92px; pointer-events:none; opacity:.7; background:radial-gradient(70% 90% at 12% 100%,#dcecff 0 55%,transparent 56%),radial-gradient(65% 90% at 45% 100%,#edf6ff 0 55%,transparent 56%),radial-gradient(65% 90% at 78% 100%,#dcecff 0 55%,transparent 56%); animation:footer-wave-shimmer 8s ease-in-out infinite alternate; }
@keyframes footer-wave-drift { from { transform:translateX(-2%); } to { transform:translateX(2%); } } @keyframes footer-wave-shimmer { from { opacity:.45; } to { opacity:.8; } }
.footer-trust,.footer-main,.footer-bottom { position:relative; z-index:1; }
.footer-trust { margin:0 3.4%; padding:22px 4%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; background:linear-gradient(110deg,#edf7ff,#f7fbff); border-radius:18px; }
.footer-trust { display:none !important; }
.footer-trust-item { display:grid !important; grid-template-columns:44px 1fr; gap:12px; align-items:center; border-right:1px solid #d8e6f4; }
.footer-trust-item:last-child { border-right:0; }.footer-trust-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:#e2f0ff; color:#0868ed; font-size:21px; }
.footer-trust-item strong { display:block; color:#112957; font-size:20px; }.footer-trust-item span { font-size:12px; }
.footer-main { display:grid !important; align-items:start; grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr)) minmax(0,1.45fr); gap:26px; padding:34px 3.4% 30px; }
.footer-main > * { min-width:0; }.footer-main > div { display:block !important; }.footer-brand-block,.footer-social-slot,.footer-newsletter { align-self:start; }.footer-social-slot { display:block !important; }
.footer-brand { position:relative; display:inline-flex; align-items:center; gap:12px; color:#0b1d46; font-size:28px; font-weight:800; text-decoration:none; }.footer-brand::before { content:""; width:38px; height:44px; display:inline-block; background:#0868ed; border-radius:50% 50% 50% 9px; transform:rotate(-45deg); box-shadow:0 6px 14px #0868ed24; }.footer-brand::after { content:""; position:absolute; left:14px; top:16px; width:9px; height:9px; border-radius:50%; background:#fff; }.footer-brand .footer-word { color:#0b1d46; }.footer-brand .footer-word span { color:#0868ed; }.footer-description { max-width:280px; line-height:1.55; font-size:13px; margin:14px 0 20px; }
.footer-column { border-left:1px solid #e1eaf4; padding-left:22px; }.footer-column h3,.footer-newsletter h3 { margin:0 0 14px; color:#102755; font-size:15px; }.footer-column a { display:block; color:#607294; text-decoration:none; font-size:12px; margin:0 0 12px; }.footer-column a:hover { color:#0868ed; }
.footer-newsletter p { margin:0 0 14px; font-size:12px; line-height:1.5; }.footer-subscribe { display:flex !important; align-items:stretch; gap:8px; }.footer-subscribe input { min-width:0; width:100%; flex:1 1 auto; height:42px; }.footer-subscribe button { flex:0 0 auto; min-width:108px; height:42px; border:0; border-radius:7px; padding:0 15px; background:#0868ed; color:#fff; font-weight:700; cursor:pointer; }.footer-privacy { display:block; margin-top:9px; font-size:10px; }.footer-apps { margin-top:22px; }.footer-apps h3 { margin:0 0 12px; color:#102755; font-size:15px; }.footer-apps>div { display:flex !important; gap:10px; }.footer-apps a { display:flex; align-items:center; gap:8px; min-width:136px; height:43px; padding:5px 10px; border-radius:7px; background:#111; color:#fff; text-decoration:none; }.footer-apps a>b { font-size:21px; }.footer-apps a span { font-size:8px; line-height:1.05; }.footer-apps a strong { display:block; font-size:14px; line-height:1.1; }.footer-apps a:last-child>b { color:#39a8ff; }
.footer-subscribe-status { display:block; min-height:16px; margin-top:7px; font-size:11px; }.footer-subscribe-status.success { color:#159447; }.footer-subscribe-status.error { color:#d72e49; }
.footer-city-art { position:absolute; right:-8px; bottom:-4px; width:210px; height:130px; opacity:.26; pointer-events:none; background:linear-gradient(90deg,transparent 0 9%,#9fc7ef 9% 12%,transparent 12% 18%,#9fc7ef 18% 25%,transparent 25% 31%,#9fc7ef 31% 37%,transparent 37% 43%,#9fc7ef 43% 50%,transparent 50% 56%,#9fc7ef 56% 63%,transparent 63% 70%,#9fc7ef 70% 76%,transparent 76% 83%,#9fc7ef 83% 91%,transparent 91%) bottom/100% 92px no-repeat; }
.footer-city-art::before { content:""; position:absolute; right:32px; top:8px; width:28px; height:35px; background:#8bbcf1; border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 0 0 8px #dcecff; }.footer-city-art::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:#9fc7ef; }
.footer-newsletter { position:relative; }.footer-newsletter > *:not(.footer-city-art) { position:relative; z-index:1; }.footer-coming-soon { position:fixed; z-index:2200; left:50%; bottom:24px; transform:translate(-50%,12px); opacity:0; visibility:hidden; padding:12px 18px; border-radius:9px; background:#102755; color:#fff; font-size:13px; box-shadow:0 10px 28px rgba(16,39,85,.25); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; }.footer-coming-soon.show { opacity:1; visibility:visible; transform:translate(-50%,0); }
.footer-apps { display:none !important; }
.footer-bottom { display:flex !important; justify-content:space-between; align-items:center; gap:18px; padding:16px 3.4%; border-top:1px solid #e2eaf3; font-size:12px; }.footer-bottom-right { display:flex !important; align-items:center; gap:22px; }.footer-back-top { border:1px solid #aacbf1; background:#f7fbff; color:#0868ed; border-radius:8px; padding:8px 12px; cursor:pointer; }
footer.site-footer .footer-social { display:flex !important; align-items:center; margin-top:4px; gap:14px; }.footer-social a { width:40px !important; height:40px !important; color:#fff !important; box-shadow:0 4px 10px rgba(24,70,130,.14); }.footer-social svg { width:18px !important; height:18px !important; }.footer-social a:nth-child(1) { background:#1877f2; }.footer-social a:nth-child(2) { background:#e83d83; }.footer-social a:nth-child(3) { background:#0a66c2; }.footer-social a:nth-child(4) { background:#111827; }.footer-social a:nth-child(5) { background:#f2182b; }.footer-social a:hover { color:#fff !important; transform:translateY(-3px) scale(1.04); }.footer-tagline { display:flex !important; align-items:center; gap:12px; margin:12px 0 0; color:#a2afc2; font-style:normal; font-size:12px; }.footer-tagline::before,.footer-tagline::after { content:""; width:26px; height:1px; background:#dfe7f1; }
@media (max-width:1050px) { .footer-main { grid-template-columns:1.5fr repeat(3,1fr); }.footer-newsletter { grid-column:span 2; }.footer-trust { grid-template-columns:repeat(2,1fr); }.footer-trust-item:nth-child(2) { border-right:0; } }
@media (max-width:650px) { footer.site-footer { min-height:0; }.footer-trust,.footer-main { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:24px 18px; margin:0 12px; }.footer-main { margin:0; }.footer-brand-block,.footer-newsletter { grid-column:span 2; }.footer-column { border-left:0; padding-left:0; }.footer-bottom { display:grid; padding:16px 18px; }.footer-bottom-right { justify-content:space-between; }.footer-tagline { display:none; }.footer-apps>div { flex-wrap:wrap; }.footer-apps a { min-width:132px; } }
@media (prefers-reduced-motion: reduce) { footer.site-footer::before, footer.site-footer::after { animation:none; } }

/* Compact, finished footer bottom without an empty trailing block. */
footer.site-footer{min-height:0;padding-bottom:0}
footer.site-footer::before{bottom:0;height:86px;opacity:.58}
footer.site-footer::after{bottom:0;height:68px;opacity:.48}
.footer-bottom{
  min-height:68px;
  padding:14px 3.4%;
  border-top:1px solid #d8e6f5;
  background:linear-gradient(90deg,#eaf4ffcc 0%,#f5faffd9 52%,#e7f2ffcc 100%);
  color:#526b92;
  font-size:12px;
}
.footer-bottom>span{font-weight:500;letter-spacing:.05px}
.footer-back-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  padding:0 14px;
  border:1px solid #9fc5f3;
  border-radius:9px;
  background:#ffffffd9;
  box-shadow:0 2px 8px #173b6d0d;
  font-size:12px;
  font-weight:600;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.footer-back-top:hover{border-color:#0868ed;background:#fff;box-shadow:0 5px 14px #0868ed1a;transform:translateY(-1px)}
.footer-back-top:focus-visible{outline:3px solid #b9d7ff;outline-offset:2px}
