/* Primary wing: inner pages - banner, cards, lists, tables, gallery, motion and cursor effects */
:root { --jp-teal: #0e3642; --jp-teal2: #164e63; --jp-pink: #ea1f63; --jp-gold: #f6c90e; }

/* ---------- page banner ---------- */
.jns-hero { position: relative; overflow: hidden; padding: 44px 0 40px; text-align: center; color: #fff; background: linear-gradient(120deg, #0b2c36, var(--jp-teal) 45%, #1b5a73); }
.jns-hero::before, .jns-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.jns-hero::before { width: 320px; height: 320px; right: -80px; top: -140px; background: radial-gradient(circle, rgba(234, 31, 99, .55), transparent 68%); animation: jpFloat 9s ease-in-out infinite; }
.jns-hero::after { width: 260px; height: 260px; left: -70px; bottom: -130px; background: radial-gradient(circle, rgba(246, 201, 14, .4), transparent 68%); animation: jpFloat 11s ease-in-out infinite reverse; }
.jns-hero .container { position: relative; z-index: 1; }
.jns-hero h1 { color: #fff; margin: 0 0 12px; font-size: clamp(1.7rem, 4vw, 2.7rem); letter-spacing: .4px; animation: jpDown .8s cubic-bezier(.2, .8, .2, 1) both; }
.jns-hero h1::after { content: ""; display: block; width: 90px; height: 4px; margin: 12px auto 0; border-radius: 4px; background: linear-gradient(90deg, var(--jp-gold), var(--jp-pink)); animation: jpGrow 1s .4s ease both; }
.jns-crumb { display: inline-flex; gap: 10px; align-items: center; padding: 6px 18px; border-radius: 30px; background: rgba(255, 255, 255, .12); font-size: .92rem; animation: jpUp .8s .2s cubic-bezier(.2, .8, .2, 1) both; }
.jns-crumb a { color: var(--jp-gold); text-decoration: none; }
.jns-crumb a:hover { color: #fff; }
.jns-crumb i { font-size: .7rem; opacity: .7; }
@keyframes jpFloat { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-26px, 22px); } }
@keyframes jpDown { from { opacity: 0; transform: translateY(-24px); } to { opacity: 1; transform: none; } }
@keyframes jpUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes jpGrow { from { width: 0; } to { width: 90px; } }
.jns-hero + div .page-wrapper > h1:first-child, .jns-hero + div .doc-h1 { display: none; }

/* ---------- content card ---------- */
.jns-inner .page-wrapper { position: relative; background: #fff; border-radius: 22px; padding: 32px 34px 28px !important; margin: 34px 0 40px; box-shadow: 0 12px 40px rgba(14, 54, 66, .12); border: 1px solid #edf2f3; border-top: 5px solid var(--jp-pink); }
.jns-inner .page-wrapper h2, .jns-inner .page-wrapper h3 { color: var(--jp-teal); position: relative; padding-left: 14px; margin: 22px 0 12px; }
.jns-inner .page-wrapper h2::before, .jns-inner .page-wrapper h3::before { content: ""; position: absolute; left: 0; top: 12%; bottom: 12%; width: 5px; border-radius: 5px; background: linear-gradient(var(--jp-gold), var(--jp-pink)); }
.jns-inner .page-wrapper p { line-height: 1.85; }
.jns-inner .page-wrapper ul:not(.owl-dots):not(.nav):not(.pagination) { list-style: none; padding-left: 4px; }
.jns-inner .page-wrapper ul:not(.owl-dots):not(.nav):not(.pagination) > li { position: relative; padding-left: 26px; margin-bottom: 9px; line-height: 1.7; }
.jns-inner .page-wrapper ul:not(.owl-dots):not(.nav):not(.pagination) > li::before { content: "\2714"; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; font-size: .62rem; line-height: 18px; text-align: center; color: #fff; background: var(--jp-pink); }
.jns-inner .page-wrapper ol { padding-left: 24px; }
.jns-inner .page-wrapper ol > li { margin-bottom: 9px; line-height: 1.7; padding-left: 4px; }
.jns-inner .page-wrapper ol > li::marker { color: var(--jp-pink); font-weight: 700; }
.jns-inner .page-wrapper a:not(.btn) { color: var(--jp-pink); text-decoration: none; background-image: linear-gradient(var(--jp-pink), var(--jp-pink)); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .3s ease; }
.jns-inner .page-wrapper a:not(.btn):hover { background-size: 100% 2px; }

/* tables */
.jns-inner .page-wrapper table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 22px rgba(14, 54, 66, .1); margin: 14px 0 20px; }
.jns-inner .page-wrapper table th { background: linear-gradient(135deg, var(--jp-teal), var(--jp-teal2)) !important; color: #fff !important; padding: 12px 14px; }
.jns-inner .page-wrapper table td { padding: 11px 14px; border-bottom: 1px solid #edf2f3 !important; transition: background .25s; }
.jns-inner .page-wrapper table tr:nth-child(even) td { background: #f7fafb; }
.jns-inner .page-wrapper table tr:hover td { background: #fff1f5; }
.jns-tablewrap { overflow-x: auto; }

/* images inside pages */
.jns-inner .page-wrapper article img, .jns-inner .page-wrapper section img:not(.owl-lazy):not([class*="no-fx"]) { border-radius: 14px; box-shadow: 0 8px 24px rgba(14, 54, 66, .18); transition: transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s; max-width: 100%; height: auto; }
.jns-inner .page-wrapper article img:hover, .jns-inner .page-wrapper section img:not(.owl-lazy):hover { transform: scale(1.035); box-shadow: 0 16px 38px rgba(234, 31, 99, .28); }

/* ---------- sidebar ---------- */
.jns-inner .sidebar-menu { margin-top: 34px; position: sticky; top: 16px; }
.jns-inner .saidbar .categories { border-radius: 22px !important; box-shadow: 0 12px 34px rgba(234, 31, 99, .32); overflow: hidden; background: linear-gradient(160deg, #ea1f63, #c4155a) !important; }
.jns-inner .saidbar .categories ul li { list-style: none; margin-bottom: 4px; }
.jns-inner .saidbar .categories ul li a { display: block; padding: 8px 12px; border-radius: 10px; color: #fff; text-decoration: none; transition: transform .3s ease, background .3s ease; }
.jns-inner .saidbar .categories ul li a:hover { background: rgba(255, 255, 255, .18); transform: translateX(8px); }

/* ---------- gallery / video / news cards ---------- */
.jns-inner .page-wrapper .row > [class*="col-"] > .shadow { border: 0 !important; border-radius: 18px !important; overflow: hidden; box-shadow: 0 8px 26px rgba(14, 54, 66, .14) !important; transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
.jns-inner .page-wrapper .row > [class*="col-"] > .shadow:hover { transform: translateY(-10px); box-shadow: 0 20px 44px rgba(234, 31, 99, .28) !important; }
.jns-inner .page-wrapper .shadow > a { display: block; overflow: hidden; border-radius: 12px; text-decoration: none; background-image: none !important; }
.jns-inner .page-wrapper .shadow > a > div, .jns-inner .page-wrapper .shadow > a > img { transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.jns-inner .page-wrapper .shadow:hover > a > div, .jns-inner .page-wrapper .shadow:hover > a > img { transform: scale(1.12); }
.jns-inner .page-wrapper .shadow > a > strong { display: block; padding-top: 8px; color: var(--jp-teal); }

/* ---------- scroll reveal ---------- */
.jns-reveal { opacity: 0; transform: translateY(34px); transition: opacity .8s cubic-bezier(.2, .8, .2, 1), transform .8s cubic-bezier(.2, .8, .2, 1); transition-delay: var(--d, 0s); }
.jns-reveal.jns-in { opacity: 1; transform: none; }
.jns-reveal.jns-zoom { transform: scale(.88) translateY(20px); }
.jns-reveal.jns-zoom.jns-in { transform: none; }
.jns-reveal.jns-left { transform: translateX(-40px); }
.jns-reveal.jns-left.jns-in { transform: none; }
.jns-reveal.jns-right { transform: translateX(40px); }
.jns-reveal.jns-right.jns-in { transform: none; }

/* ---------- cursor ---------- */
.jp-cur { position: fixed; left: 0; top: 0; z-index: 99999; pointer-events: none; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; border: 2px solid var(--jp-pink); display: flex; align-items: center; justify-content: center; font: 700 .62rem/1 Roboto, sans-serif; letter-spacing: 1px; color: #fff; opacity: 0; transition: width .3s, height .3s, margin .3s, background .3s, opacity .3s, border-color .3s; }
.jp-cur.on { opacity: 1; }
.jp-cur.link { width: 58px; height: 58px; margin: -29px 0 0 -29px; background: rgba(234, 31, 99, .18); }
.jp-cur.view { width: 76px; height: 76px; margin: -38px 0 0 -38px; background: rgba(234, 31, 99, .88); border-color: #fff; }
.jp-dot { position: fixed; left: 0; top: 0; z-index: 99999; pointer-events: none; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--jp-gold); opacity: 0; transition: opacity .3s; }
.jp-dot.on { opacity: 1; }
.jp-ripple { position: fixed; z-index: 99998; pointer-events: none; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; border: 2px solid var(--jp-pink); animation: jpRip .7s ease-out forwards; }
@keyframes jpRip { to { transform: scale(7); opacity: 0; } }
@media (hover: none), (pointer: coarse) { .jp-cur, .jp-dot { display: none; } }

/* ---------- lightbox ---------- */
.jp-lb { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(8, 24, 30, .92); opacity: 0; pointer-events: none; transition: opacity .3s; }
.jp-lb.on { opacity: 1; pointer-events: auto; }
.jp-lb img { max-width: 92vw; max-height: 88vh; border-radius: 12px; box-shadow: 0 20px 60px rgba(0, 0, 0, .6); transform: scale(.9); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.jp-lb.on img { transform: none; }
.jp-lb button { position: absolute; top: 18px; right: 22px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--jp-pink); color: #fff; font-size: 1.4rem; cursor: pointer; }

/* progress bar */
.jp-bar { position: fixed; left: 0; top: 0; height: 4px; width: 0; z-index: 100001; background: linear-gradient(90deg, var(--jp-gold), var(--jp-pink)); }

@media (max-width: 767px) { .jns-inner .page-wrapper { padding: 22px 16px 18px !important; border-radius: 16px; } .jns-hero { padding: 32px 0 28px; } }
@media (prefers-reduced-motion: reduce) { .jns-hero::before, .jns-hero::after, .jns-hero h1, .jns-crumb { animation: none; } .jns-reveal { opacity: 1; transform: none; transition: none; } }

/* ---------- home page: Principal's Desk / KG cards ---------- */
.prics { background: transparent !important; }
.prics .container { max-width: 1140px; }
.prics .row { position: relative; margin: 30px 0 !important; background: #fff; border-radius: 26px; overflow: hidden; box-shadow: 0 16px 46px rgba(14, 54, 66, .16); border: 1px solid #edf2f3; border-left: 6px solid var(--jp-pink); align-items: stretch !important; }
.prics .row > .col-md-6:first-child { position: relative; overflow: hidden; background: var(--jp-teal); min-height: 320px; }
.prics .row > .col-md-6:first-child img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; float: none !important; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); animation: jpKen 16s ease-in-out infinite alternate; }
.prics .row:hover > .col-md-6:first-child img { transform: scale(1.1); }
.prics .row > .col-md-6:first-child::after { content: ""; position: absolute; inset: auto 0 0 0; height: 35%; background: linear-gradient(to top, rgba(14, 54, 66, .5), transparent); pointer-events: none; }
.prics .row > .col-md-6:last-child { display: flex; align-items: center; }
.prics .row > .col-md-6:last-child section { padding: 34px 38px !important; }
.prics .prics .row { flex-direction: row-reverse; border-left: 0; border-right: 6px solid var(--jp-gold); }
.prics h1.text-warning { position: relative; color: var(--jp-teal) !important; font-size: clamp(1.5rem, 3vw, 2.2rem); padding-bottom: 14px; margin-bottom: 16px; }
.prics h1.text-warning::after { content: ""; position: absolute; left: 0; bottom: 0; width: 70px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--jp-gold), var(--jp-pink)); transition: width .6s ease; }
.prics .row:hover h1.text-warning::after { width: 140px; }
.prics .row p { line-height: 1.85; color: #3d4a50; }
.prics .btn.btn-warning { position: relative; overflow: hidden; border: 0; border-radius: 30px; padding: 10px 28px; font-weight: 600; background: linear-gradient(90deg, var(--jp-pink), #c4155a); color: #fff; box-shadow: 0 8px 20px rgba(234, 31, 99, .35); transition: transform .3s ease, box-shadow .3s ease; }
.prics .btn.btn-warning::after { content: "\2192"; display: inline-block; margin-left: 8px; transition: transform .3s ease; }
.prics .btn.btn-warning:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(234, 31, 99, .5); color: #fff; }
.prics .btn.btn-warning:hover::after { transform: translateX(6px); }
.prics .row::before { content: "\201C"; position: absolute; right: 26px; top: -8px; font: 700 120px/1 Georgia, serif; color: rgba(234, 31, 99, .1); pointer-events: none; z-index: 1; }
@keyframes jpKen { from { transform: scale(1); } to { transform: scale(1.07); } }
.facility-item { transition: transform .4s cubic-bezier(.2, .8, .2, 1); }
.facility-item:hover { transform: translateY(-10px); }
.facility-item .facility-icon i { transition: transform .5s ease; }
.facility-item:hover .facility-icon i { transform: translateX(8px) scale(1.15); }
@media (max-width: 767px) { .prics .row > .col-md-6:first-child { min-height: 240px; } .prics .row > .col-md-6:last-child section { padding: 22px 18px !important; } .prics .prics .row { flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .prics .row > .col-md-6:first-child img { animation: none; } }

/* ---------- Co-Curricular Activity page ---------- */
.jns-intro { background: linear-gradient(135deg, #fff1f5, #fff); border-left: 5px solid var(--jp-pink); border-radius: 18px; padding: 20px 24px; margin-bottom: 8px; box-shadow: 0 6px 20px rgba(14, 54, 66, .08); }
.jns-intro h2 { margin-top: 0 !important; }
.jns-intro p { margin-bottom: 0; }
.jns-inner .page-wrapper h2.jns-h { margin: 30px 0 16px; }
.jns-cca { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; margin-bottom: 10px; }
.jns-cca > div { position: relative; background: #fff; border-radius: 18px; padding: 24px 12px 18px; text-align: center; box-shadow: 0 6px 22px rgba(14, 54, 66, .11); border: 1px solid #edf2f3; overflow: hidden; transition: transform .35s ease, box-shadow .35s ease; }
.jns-cca > div::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--jp-gold), var(--jp-pink)); transform: scaleX(0); transform-origin: left; transition: transform .4s ease; }
.jns-cca > div:hover { transform: translateY(-8px); box-shadow: 0 16px 36px rgba(234, 31, 99, .25); }
.jns-cca > div:hover::before { transform: scaleX(1); }
.jns-cca i { display: inline-flex; width: 58px; height: 58px; border-radius: 50%; align-items: center; justify-content: center; font-size: 1.4rem; color: #fff; background: var(--jp-pink); box-shadow: 0 8px 18px rgba(234, 31, 99, .35); margin-bottom: 10px; transition: transform .6s ease; }
.jns-cca > div:hover i { transform: rotateY(360deg) scale(1.08); }
.jns-cca b { display: block; color: var(--jp-teal); }
.jns-collage { border-radius: 22px; overflow: hidden; box-shadow: 0 14px 40px rgba(14, 54, 66, .22); border: 6px solid #fff; outline: 1px solid #edf2f3; }
.jns-collage img { display: block; width: 100%; height: auto; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.jns-collage:hover img { transform: scale(1.04); }
.jns-inner .page-wrapper .jns-collage img { border-radius: 0; box-shadow: none; }
.jns-inner .page-wrapper .jns-collage img:hover { transform: scale(1.04); box-shadow: none; }
.jns-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 26px; }
.jns-info { position: relative; background: #fff; border-radius: 20px; padding: 26px 24px 18px; box-shadow: 0 8px 26px rgba(14, 54, 66, .12); border: 1px solid #edf2f3; border-top: 5px solid var(--jp-gold); transition: transform .35s ease, box-shadow .35s ease; }
.jns-info:hover { transform: translateY(-8px); box-shadow: 0 18px 40px rgba(14, 54, 66, .22); }
.jns-info .jns-ico { display: inline-flex; width: 50px; height: 50px; border-radius: 14px; align-items: center; justify-content: center; font-size: 1.3rem; color: #fff; background: linear-gradient(135deg, var(--jp-teal), var(--jp-teal2)); margin-bottom: 8px; }
.jns-inner .page-wrapper .jns-info h3 { margin-top: 4px; }
.jns-info p { margin: 0; }
@media (max-width: 767px) { .jns-two { grid-template-columns: 1fr; } }

/* ---------- content pages built from the school PDFs ---------- */
.jns-inner .page-wrapper h2 small { font-size: .62em; color: var(--jp-pink); font-weight: 600; margin-left: 6px; }
.jns-motto { text-align: center; margin: 20px 0 8px; padding: 18px 20px; border-radius: 18px; background: linear-gradient(135deg, #fffbe6, #fff); border: 1px solid #f3dd8a; box-shadow: 0 6px 20px rgba(246, 201, 14, .22); }
.jns-motto b { display: block; font-size: 1.25rem; color: var(--jp-teal); }
.jns-motto i { color: #6b5a14; }
.jns-note { margin: 18px 0; padding: 16px 20px; border-radius: 16px; background: #fffbe6; border-left: 5px solid var(--jp-gold); box-shadow: 0 6px 18px rgba(14, 54, 66, .08); line-height: 1.8; }
.jns-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-bottom: 8px; }
.jns-grid.jns-g2 { grid-template-columns: repeat(2, 1fr); }
.jns-feat { position: relative; background: #fff; border-radius: 20px; padding: 24px 22px 18px; box-shadow: 0 8px 26px rgba(14, 54, 66, .12); border: 1px solid #edf2f3; border-top: 5px solid var(--jp-pink); transition: transform .35s ease, box-shadow .35s ease; }
.jns-feat:hover { transform: translateY(-8px); box-shadow: 0 18px 40px rgba(234, 31, 99, .22); }
.jns-feat .jns-ico { display: inline-flex; width: 52px; height: 52px; border-radius: 50%; align-items: center; justify-content: center; font-size: 1.3rem; color: #fff; background: var(--jp-pink); box-shadow: 0 8px 18px rgba(234, 31, 99, .35); margin-bottom: 8px; transition: transform .6s ease; }
.jns-feat:hover .jns-ico { transform: rotateY(360deg); }
.jns-inner .page-wrapper .jns-feat h3 { margin-top: 4px; }
.jns-feat p { margin: 0; }
.jns-acts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 10px; }
.jns-act { position: relative; display: flex; gap: 14px; align-items: flex-start; background: #fff; border-radius: 18px; padding: 18px 18px 16px; box-shadow: 0 6px 22px rgba(14, 54, 66, .11); border: 1px solid #edf2f3; border-left: 5px solid var(--jp-pink); overflow: hidden; transition: transform .35s ease, box-shadow .35s ease; }
.jns-act:nth-child(even) { border-left-color: var(--jp-gold); }
.jns-act:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(234, 31, 99, .2); }
.jns-act .jns-no { position: absolute; right: 14px; top: 6px; font: 800 2.2rem/1 Roboto, sans-serif; color: rgba(14, 54, 66, .08); }
.jns-act .jns-aico { flex: none; width: 50px; height: 50px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--jp-teal), var(--jp-teal2)); font-size: 1.15rem; transition: transform .6s ease; }
.jns-act:hover .jns-aico { transform: rotateY(360deg); background: var(--jp-pink); }
.jns-act b { display: block; color: var(--jp-teal); font-size: 1.05rem; margin-bottom: 2px; }
.jns-act p { margin: 0; line-height: 1.6; }
.jns-classes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 16px 0; }
.jns-class { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 8px 26px rgba(14, 54, 66, .12); border: 1px solid #edf2f3; transition: transform .35s ease, box-shadow .35s ease; }
.jns-class:hover { transform: translateY(-8px); box-shadow: 0 18px 40px rgba(14, 54, 66, .22); }
.jns-class-h { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: linear-gradient(135deg, var(--jp-teal), var(--jp-teal2)); color: #fff; }
.jns-class-h span { flex: none; min-width: 46px; height: 46px; padding: 0 6px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; background: var(--jp-pink); box-shadow: 0 4px 12px rgba(0, 0, 0, .3); }
.jns-inner .page-wrapper .jns-class-h h3 { color: #fff; margin: 0; padding: 0; font-size: 1.02rem; line-height: 1.35; }
.jns-inner .page-wrapper .jns-class-h h3::before { display: none; }
.jns-class ul { margin: 0 !important; padding: 16px 18px 8px !important; }
.jns-olist { counter-reset: jr; list-style: none; padding: 0 !important; margin: 14px 0; }
.jns-inner .page-wrapper .jns-olist > li { counter-increment: jr; position: relative; padding: 14px 16px 14px 62px; margin-bottom: 12px; background: #fff; border-radius: 16px; box-shadow: 0 5px 18px rgba(14, 54, 66, .1); border: 1px solid #edf2f3; transition: transform .3s ease, box-shadow .3s ease; line-height: 1.7; }
.jns-inner .page-wrapper .jns-olist > li::before { content: counter(jr); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--jp-pink), #c4155a); font-size: .95rem; line-height: 34px; }
.jns-olist > li:hover { transform: translateX(8px); box-shadow: 0 10px 26px rgba(234, 31, 99, .2); }
.jns-warn { margin: 22px 0 8px; padding: 16px 20px; border-radius: 16px; text-align: center; font-weight: 700; letter-spacing: .4px; color: #8a0f3a; background: #fff1f5; border: 2px solid var(--jp-pink); animation: jpPulse 2.4s ease-in-out infinite; }
.jns-warn i { margin-right: 8px; color: var(--jp-pink); }
@keyframes jpPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(234, 31, 99, .35); } 50% { box-shadow: 0 0 0 10px rgba(234, 31, 99, 0); } }
.jns-final { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin: 12px 0 18px; }
.jns-final > div { flex: 1 1 130px; text-align: center; padding: 14px 10px; border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(14, 54, 66, .12); border: 1px solid #edf2f3; border-top: 4px solid var(--jp-gold); }
.jns-final > div.jns-fin { border-top-color: var(--jp-pink); }
.jns-final b { display: block; color: var(--jp-teal); }
.jns-final span { display: block; font-size: 1.6rem; font-weight: 800; color: var(--jp-pink); }
.jns-final > i { align-self: center; color: var(--jp-teal); }
.jns-unis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 14px 0; }
.jns-uni { background: #fff; border-radius: 20px; padding: 18px 20px 8px; box-shadow: 0 8px 26px rgba(14, 54, 66, .12); border: 1px solid #edf2f3; border-top: 5px solid var(--jp-gold); transition: transform .35s ease, box-shadow .35s ease; }
.jns-uni:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(14, 54, 66, .2); }
.jns-inner .page-wrapper .jns-uni h3 { margin-top: 0; color: var(--jp-teal); font-size: 1.05rem; }
.jns-uni h3 i { color: var(--jp-pink); margin-right: 6px; }
.jns-uni ul { margin: 0 !important; padding: 4px 0 6px !important; }
.jns-houses { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 14px; }
.jns-houses span { padding: 8px 20px; border-radius: 30px; color: #fff; font-weight: 600; box-shadow: 0 6px 16px rgba(0, 0, 0, .2); transition: transform .3s ease; }
.jns-houses span:hover { transform: translateY(-4px) scale(1.05); }
.jns-houses .hr { background: #d9322b; }
.jns-houses .hb { background: #2563c4; }
.jns-houses .hg { background: #2e9b4e; }
.jns-houses .hn { background: #8a5a2b; }
.jns-dlwrap { margin: 26px 0 4px; text-align: center; }
.jns-inner .page-wrapper a.jns-dl { display: inline-flex; align-items: center; gap: 10px; padding: 11px 28px; border-radius: 30px; font-weight: 600; color: #fff; background-image: linear-gradient(90deg, var(--jp-pink), #c4155a); background-size: 100% 100%; box-shadow: 0 8px 20px rgba(234, 31, 99, .35); transition: transform .3s ease, box-shadow .3s ease; }
.jns-inner .page-wrapper a.jns-dl:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(234, 31, 99, .5); color: #fff; }
@media (max-width: 767px) { .jns-acts, .jns-classes, .jns-unis, .jns-grid.jns-g2 { grid-template-columns: 1fr; } .jns-inner .page-wrapper .jns-olist > li { padding-left: 56px; } }
.jns-feat .jns-ico i, .jns-act .jns-aico i, .jns-info .jns-ico i, .jns-uni h3 i.fa-fake { color: #fff; }
.jns-inner .page-wrapper a.jns-dl i { color: #fff; }

/* dropdown menus: quick fade so two menus are never visible together while the mouse moves */
@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu { transition: opacity .12s ease, visibility 0s linear .12s, top .12s ease; pointer-events: none; }
    .navbar .nav-item:hover .dropdown-menu { transition: opacity .18s ease, visibility 0s linear 0s, top .18s ease; pointer-events: auto; }
}
