/* Footer + Contact page (Primary) */
.jns-footer { background: linear-gradient(160deg, #0b2c36, #0e3642 55%, #123f4d); position: relative; overflow: hidden; }
.jns-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #f6c90e, #ea1f63, #25d366, #f6c90e); background-size: 300% 100%; animation: jnsFbar 8s linear infinite; }
@keyframes jnsFbar { to { background-position: 300% 0; } }
.jns-fbrand { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.jns-fbrand img { width: 74px; height: 74px; border-radius: 50%; background: #fff; padding: 4px; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); flex: none; animation: jnsFlogo 5s ease-in-out infinite; }
@keyframes jnsFlogo { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.jns-fbrand h3 { color: #fff; font-size: 1.3rem; line-height: 1.3; margin: 0; }
.jns-ftag { color: rgba(255, 255, 255, .75); margin-bottom: 16px; }
.jns-fh { position: relative; color: #fff; font-size: 1.2rem; margin: 0 0 20px; padding-bottom: 10px; }
.jns-fh::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #f6c90e, #ea1f63); }
.jns-flinks { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 20px; }
.jns-flinks li { break-inside: avoid; margin-bottom: 9px; }
.jns-flinks a { display: inline-block; color: rgba(255, 255, 255, .82); text-decoration: none; transition: transform .25s ease, color .25s ease; }
.jns-flinks a::before { content: "\203A"; color: #f6c90e; margin-right: 8px; font-weight: 700; }
.jns-flinks a:hover { color: #fff; transform: translateX(6px); }
.jns-fcontact { list-style: none; margin: 0 0 18px; padding: 0; }
.jns-fcontact li { display: flex; gap: 12px; align-items: flex-start; color: rgba(255, 255, 255, .88); margin-bottom: 12px; word-break: break-word; }
.jns-fcontact i { flex: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .1); color: #f6c90e; }
.jns-fdir { display: inline-flex; align-items: center; gap: 8px; padding: 10px 24px; border-radius: 30px; background: linear-gradient(90deg, #ea1f63, #c4155a); color: #fff !important; font-weight: 600; text-decoration: none !important; box-shadow: 0 6px 16px rgba(0, 0, 0, .3); transition: transform .3s ease, box-shadow .3s ease; }
.jns-fdir i { animation: jnsFpin 1.6s ease-in-out infinite; }
@keyframes jnsFpin { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(3px, -3px); } }
.jns-fdir:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(234, 31, 99, .5); }
.jns-fbottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, .15); color: #fff; font-size: .95rem; }
.jns-fbl { display: flex; gap: 8px; flex-wrap: wrap; }
.jns-fbottom a { color: #f6c90e; }
.jns-fbl a { padding: 5px 14px; border-radius: 20px; background: rgba(255, 255, 255, .1); color: #fff; text-decoration: none; font-size: .88rem; transition: background .3s, transform .3s; }
.jns-fbl a:hover { background: #ea1f63; transform: translateY(-2px); }
@media (max-width: 575px) { .jns-fbottom { justify-content: center; text-align: center; } }

/* Contact page */
.jns-contact { margin-top: 18px; }
.jns-cintro { font-size: 1.05rem; line-height: 1.8; margin-bottom: 22px; }
.jns-ccards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px; }
@media (max-width: 575px) { .jns-ccards { grid-template-columns: 1fr; } }
.jns-ccard { position: relative; background: #fff; border-radius: 18px; padding: 22px 18px 18px; text-align: center; box-shadow: 0 8px 26px rgba(14, 54, 66, .12); border: 1px solid #eef2f3; overflow: hidden; transition: transform .35s ease, box-shadow .35s ease; animation: pdeskIn .8s cubic-bezier(.2, .8, .2, 1) both; }
.jns-ccard:nth-child(2) { animation-delay: .1s; }
.jns-ccard:nth-child(3) { animation-delay: .2s; }
.jns-ccard:nth-child(4) { animation-delay: .3s; }
.jns-ccard::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #f6c90e, #ea1f63); }
.jns-ccard:hover { transform: translateY(-8px); box-shadow: 0 16px 36px rgba(14, 54, 66, .25); }
.jns-ccard i { display: inline-flex; width: 58px; height: 58px; border-radius: 50%; align-items: center; justify-content: center; font-size: 1.4rem; color: #fff; background: #ea1f63; box-shadow: 0 8px 18px rgba(234, 31, 99, .35); margin-bottom: 10px; transition: transform .6s ease; }
.jns-ccard:hover i { transform: rotateY(360deg); }
.jns-ccard b { display: block; color: #0e3642; margin-bottom: 4px; }
.jns-ccard span, .jns-ccard a { color: #444; word-break: break-word; }
.jns-cmap { border-radius: 22px; overflow: hidden; box-shadow: 0 14px 38px rgba(14, 54, 66, .22); background: #fff; animation: pdeskIn .9s .2s cubic-bezier(.2, .8, .2, 1) both; }
.jns-cmap iframe { display: block; width: 100%; height: 400px; border: 0; }
.jns-cmap-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; background: linear-gradient(135deg, #0e3642, #164e63); color: #fff; }
.jns-cmap-bar b { display: block; }
.jns-cmap-bar small { opacity: .85; }
@media (prefers-reduced-motion: reduce) { .jns-footer::before, .jns-fbrand img, .jns-fdir i, .jns-ccard, .jns-cmap { animation: none; } }
.jns-fbottom p { color: #fff !important; }
