/*
Theme Name: JMP Music
Theme URI: https://jmpmusic.co.uk
Author: KINGITSERVICES
Description: Block theme for JMP Music. Generated from the approved prototype by tools/wptheme.py. Do not edit this stylesheet by hand, the next build overwrites it.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jmp-music
*/

/* about.html, scoped to .jmp-about */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-about{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-about h1, body.jmp-about h2, body.jmp-about h3, body.jmp-about h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-about a{color:var(--blue);text-decoration:none}
body.jmp-about img{max-width:100%;display:block}
body.jmp-about .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-about .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-about .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-about .btn-primary:hover{transform:scale(1.04)}
body.jmp-about .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-about .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-about .btn-white{background:#fff;color:var(--navy)}
body.jmp-about .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-about .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-about .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-about .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-about .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-about .logo svg{flex:none}
body.jmp-about nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-about nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-about nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-about nav.main-nav a.navlink:hover::after, body.jmp-about nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-about .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-about .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-about .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-about .page-hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-about .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-about .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-about .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-about .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-about .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-about .page-hero h1{font-size:clamp(2.5rem,6vw,4.4rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.6rem;color:var(--navy)}
body.jmp-about .page-hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-about .page-hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-about .page-hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-about .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-about .hero-media{position:relative;z-index:2}
body.jmp-about .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:stretch;justify-content:stretch;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-about .hero-blob img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
body.jmp-about .hero-chips-row{display:contents}
body.jmp-about .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-about .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-about .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-about .chip-1 .ic{background:var(--indigo)}
body.jmp-about .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-about .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-about .wave-top{display:block;width:100%;height:clamp(40px,4vw,76px);margin-top:-1px}
body.jmp-about .intro{background:var(--cream);padding:clamp(1.8rem,3.5vw,2.8rem) 0 var(--pad-section);position:relative}
body.jmp-about .intro-head{text-align:center}
body.jmp-about .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-about .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:20ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-about .intro .lead{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-about .story-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3.5vw,2.8rem);margin-top:clamp(2rem,3.5vw,2.8rem)}
body.jmp-about .story-cols p{font-size:1.08rem}
body.jmp-about .photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:clamp(2.2rem,4vw,3.2rem)}
body.jmp-about .photo{aspect-ratio:4/5;border-radius:24px;box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:transform .25s ease}
body.jmp-about .lift:hover .photo{transform:translateY(-6px)}
body.jmp-about .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 34%}
body.jmp-about .photo-note{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-top:1.4rem;font-style:italic}
body.jmp-about .reasons{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-about .section-head{text-align:center;max-width:60ch;margin:0 auto 2.2rem}
body.jmp-about .section-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-about .h-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
body.jmp-about .lift{display:grid}
body.jmp-about .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-about .lift:nth-child(1) .h-card{background:var(--indigo)}
body.jmp-about .lift:nth-child(2) .h-card{background:var(--steel)}
body.jmp-about .lift:nth-child(3) .h-card{background:var(--sage)}
body.jmp-about .lift:nth-child(4) .h-card{background:#647C28}
body.jmp-about .lift:nth-child(5) .h-card{background:var(--indigo)}
body.jmp-about .lift:nth-child(6) .h-card{background:var(--steel)}
body.jmp-about .lift:nth-child(7) .h-card{background:var(--sage)}
body.jmp-about .lift:nth-child(8) .h-card{background:#647C28}
body.jmp-about .lift:nth-child(9) .h-card{background:var(--indigo)}
body.jmp-about .lift:nth-child(10) .h-card{background:var(--steel)}
body.jmp-about .h-grid .lift.wide{grid-column:1/-1}
body.jmp-about .h-grid .h-card.wide{display:flex;align-items:center;gap:1.4rem;padding:1.6rem 2rem}
body.jmp-about .h-grid .h-card.wide .ic{margin:0;flex:0 0 auto}
body.jmp-about .h-grid .h-card.wide h3{margin:0 0 .15rem}
body.jmp-about .h-grid .h-card.wide p{margin:0}
body.jmp-about .lift:hover .h-card{transform:translateY(-8px) rotate(1deg)}
body.jmp-about .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-about .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-about .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-about .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-about .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-about .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-about .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-about .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-about .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-about .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-about .special{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-about .special-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(1.8rem,4.5vw,3.6rem);align-items:start}
body.jmp-about .special-copy .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);font-size:1rem;margin-bottom:.7rem}
body.jmp-about .special-copy h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;margin-bottom:1rem}
body.jmp-about .special-copy p{font-size:1.08rem}
body.jmp-about .check{list-style:none;display:grid;gap:.85rem}
body.jmp-about .check-lead{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:1.15rem;margin-bottom:1.1rem}
body.jmp-about .check li{display:flex;align-items:flex-start;gap:.9rem;background:#fff;border-radius:18px;padding:1rem 1.25rem;box-shadow:var(--shadow-sm);font-weight:600;color:var(--navy);font-size:1.02rem;line-height:1.5;transition:transform .25s ease}
body.jmp-about .check li:hover{transform:scale(1.02)}
body.jmp-about .check .tick{flex:none;width:30px;height:30px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;margin-top:calc((1.5em - 30px) / 2)}
body.jmp-about .check li::before{content:"";flex:none;width:30px;height:30px;border-radius:50%;margin-top:calc((1.5em - 30px) / 2);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l5 5L19 7'/%3E%3C/svg%3E") center/15px no-repeat, var(--grad)}
body.jmp-about .safe{background:var(--cream);padding:var(--pad-section) 0}
body.jmp-about .safe-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.8rem,4.5vw,3.6rem);align-items:start}
body.jmp-about .safe-copy h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;margin-bottom:1rem}
body.jmp-about .safe-copy p{font-size:1.08rem}
body.jmp-about .safe-copy p+p{margin-top:1.1rem}
body.jmp-about .trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
body.jmp-about .trust{background:#fff;border-radius:24px;padding:1.7rem 1.4rem;box-shadow:var(--shadow-sm);border:2px solid var(--line);transition:transform .25s ease}
body.jmp-about .lift:hover .trust{transform:translateY(-6px)}
body.jmp-about .trust .ic{width:50px;height:50px;border-radius:15px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}
body.jmp-about .trust h3{font-size:1.12rem;margin-bottom:.35rem;font-weight:700}
body.jmp-about .trust p{font-size:.95rem;line-height:1.55}
body.jmp-about .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-about .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-about .bigcta .kicker{font-family:var(--f-display);font-weight:600;color:var(--lime-bright);font-size:1rem;margin-bottom:.7rem}
body.jmp-about .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-about .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:52ch;margin:0 auto 2rem}
body.jmp-about .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-about .bigcta-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
body.jmp-about .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-about .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-about .footer-brand .logo{margin-bottom:1rem}
body.jmp-about .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-about .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-about .footer-col ul{list-style:none}
body.jmp-about .footer-col li{margin-bottom:.6rem}
body.jmp-about .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-about .footer-col a:hover{color:var(--blue)}
body.jmp-about .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-about .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-about .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-about .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-about .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-about .footer-bottom a{color:var(--ink-soft)}
body.jmp-about .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-about .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-about .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-about .page-hero .sub{max-width:none;margin-inline:auto}
body.jmp-about .eyebrow{margin-inline:auto}
body.jmp-about .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-about .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-about .hero-ctas{justify-content:center}
body.jmp-about .special-grid, body.jmp-about .safe-grid{grid-template-columns:1fr}
body.jmp-about .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-about .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-about nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-about nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-about .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-about .header-cta .btn{display:none}
body.jmp-about .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-about .hero-media{max-width:300px}
body.jmp-about .chip{position:static;animation:none;margin:0}
body.jmp-about .chip-1, body.jmp-about .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-about .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-about .story-cols{grid-template-columns:1fr;gap:1.1rem}
body.jmp-about .photo-strip{grid-template-columns:1fr;gap:1rem}
body.jmp-about .photo{aspect-ratio:1/1}
body.jmp-about .h-grid{grid-template-columns:1fr}
body.jmp-about .trust-grid{grid-template-columns:1fr}
body.jmp-about .footer-grid{grid-template-columns:1fr}
body.jmp-about .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-about .reveal{opacity:1;translate:none}
}
body.jmp-about :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-about .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-about .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-about .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-about .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:var(--f-body);font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-about .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-about .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-about .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-about .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-about .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-about .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-about .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-about .notice-inner{padding-right:2.6rem}
body.jmp-about .notice p{font-size:.94rem}
}
body.jmp-about .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-about .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-about .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-about .hub-close{display:none}
body.jmp-about .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-about .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-about .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-about .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-about .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-about .hub-item:hover{background:var(--sky)}
body.jmp-about .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-about .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-about .hub-btn{width:50px;height:50px}
}
/* contact.html, scoped to .jmp-contact */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-contact{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-contact h1, body.jmp-contact h2, body.jmp-contact h3, body.jmp-contact h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-contact a{color:var(--blue);text-decoration:none}
body.jmp-contact img{max-width:100%;display:block}
body.jmp-contact .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-contact .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-contact .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-contact .btn-primary:hover{transform:scale(1.04)}
body.jmp-contact .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-contact .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-contact .btn-white{background:#fff;color:var(--navy)}
body.jmp-contact .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-contact .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-contact .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-contact .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-contact .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-contact .logo svg{flex:none}
body.jmp-contact nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-contact nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-contact nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-contact nav.main-nav a.navlink:hover::after, body.jmp-contact nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-contact .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-contact .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-contact .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-contact .hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-contact .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-contact .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-contact .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-contact .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-contact .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-contact .hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--navy)}
body.jmp-contact .hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-contact .hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-contact .hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-contact .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-contact .hero-media{position:relative;z-index:2}
body.jmp-contact .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);background: linear-gradient(160deg,rgba(36,59,107,.05),rgba(36,59,107,.5)), repeating-linear-gradient(135deg,#cfdcf0 0 24px,#dae4f3 24px 48px); box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-contact .hero-blob .ph{font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.88);margin-bottom:1.4rem;padding:.5rem 1rem;border-radius:12px;font-size:.85rem}
body.jmp-contact .hero-chips-row{display:contents}
body.jmp-contact .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-contact .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-contact .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-contact .chip-1 .ic{background:var(--indigo)}
body.jmp-contact .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-contact .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-contact .wave-top{display:block;width:100%;height:auto;margin-top:-1px}
body.jmp-contact .intro{background:var(--cream);padding:var(--pad-section) 0;text-align:center;position:relative}
body.jmp-contact .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-contact .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:16ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-contact .intro p{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-contact .highlights{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-contact .h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
body.jmp-contact .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-contact .h-card:nth-child(1){background:var(--indigo)}
body.jmp-contact .h-card:nth-child(2){background:var(--steel)}
body.jmp-contact .h-card:nth-child(3){background:var(--sage)}
body.jmp-contact .h-card:nth-child(4){background:#647C28}
body.jmp-contact .h-card:nth-child(odd){transform:translateY(-14px)}
body.jmp-contact .h-card:hover{transform:translateY(-22px) rotate(-1deg)}
body.jmp-contact .h-card:nth-child(even):hover{transform:translateY(-8px) rotate(1deg)}
body.jmp-contact .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-contact .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-contact .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-contact .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-contact .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-contact .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-contact .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-contact .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-contact .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-contact .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-contact .testi{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-contact .testi-head{text-align:center;max-width:60ch;margin:0 auto 2.8rem}
body.jmp-contact .testi-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);font-size:1rem;margin-bottom:.7rem}
body.jmp-contact .testi-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-contact .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
body.jmp-contact .quote{background:#fff;border-radius:24px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-contact .quote:hover{transform:translateY(-6px)}
body.jmp-contact .quote .mark{font-family:var(--f-display);font-size:3rem;line-height:.5;color:var(--lime);height:1.2rem}
body.jmp-contact .quote p{color:var(--navy);font-size:1.05rem;margin:0;flex:1;font-weight:500}
body.jmp-contact .quote .who{display:flex;align-items:center;gap:.75rem}
body.jmp-contact .quote .av{width:42px;height:42px;border-radius:50%;flex:none}
body.jmp-contact .quote:nth-child(1) .av{background:var(--indigo)}
body.jmp-contact .quote:nth-child(2) .av{background:var(--sage)}
body.jmp-contact .quote:nth-child(3) .av{background:var(--steel)}
body.jmp-contact .quote .who b{font-family:var(--f-display);color:var(--navy);font-size:1rem;display:block;font-weight:700}
body.jmp-contact .quote .who span{font-size:.85rem;color:var(--ink-soft)}
body.jmp-contact .placeholder-note{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-top:1.8rem;font-style:italic}
body.jmp-contact .paths{padding:var(--pad-section) 0}
body.jmp-contact .paths-head{text-align:center;margin-bottom:2.6rem}
body.jmp-contact .paths-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-contact .paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-contact .path{position:relative;border-radius:30px;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.4rem;color:#fff;box-shadow:var(--shadow);transition:transform .25s ease}
body.jmp-contact .path:hover{transform:translateY(-8px)}
body.jmp-contact .path::before{content:"";position:absolute;inset:0;z-index:0}
body.jmp-contact .path-parents::before{background:linear-gradient(150deg,rgba(59,75,160,.55),rgba(36,59,107,.85)),linear-gradient(120deg,#3B4BA0,#4A7A99)}
body.jmp-contact .path-schools::before{background:linear-gradient(150deg,rgba(125,168,79,.5),rgba(45,90,60,.82)),linear-gradient(120deg,#4A7A99,#5E7E3B,#B5CC3E)}
body.jmp-contact .path>*{position:relative;z-index:1}
body.jmp-contact .path .tag{display:inline-block;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);padding:.35rem .9rem;border-radius:999px;margin-bottom:.9rem;width:fit-content}
body.jmp-contact .path h3{color:#fff;font-size:1.8rem;margin-bottom:.5rem;font-weight:700}
body.jmp-contact .path p{color:rgba(255,255,255,.94);font-size:1.05rem;margin-bottom:1.5rem;max-width:32ch}
body.jmp-contact .path .ph-corner{position:absolute;top:1.1rem;left:1.1rem;z-index:1;font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.86);padding:.4rem .85rem;border-radius:10px;font-size:.78rem}
body.jmp-contact .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-contact .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-contact .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-contact .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:46ch;margin:0 auto 2rem}
body.jmp-contact .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-contact .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-contact .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-contact .footer-brand .logo{margin-bottom:1rem}
body.jmp-contact .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-contact .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-contact .footer-col ul{list-style:none}
body.jmp-contact .footer-col li{margin-bottom:.6rem}
body.jmp-contact .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-contact .footer-col a:hover{color:var(--blue)}
body.jmp-contact .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-contact .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-contact .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-contact .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-contact .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-contact .footer-bottom a{color:var(--ink-soft)}
body.jmp-contact .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-contact .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-contact .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-contact .hero .sub{max-width:none;margin-inline:auto}
body.jmp-contact .hero-ctas{justify-content:center}
body.jmp-contact .eyebrow{margin-inline:auto}
body.jmp-contact .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-contact .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-contact .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-contact .h-card:nth-child(odd), body.jmp-contact .h-card:nth-child(even){transform:none}
body.jmp-contact .testi-grid{grid-template-columns:1fr}
body.jmp-contact .paths-grid{grid-template-columns:1fr}
body.jmp-contact .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-contact nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-contact nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-contact .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-contact .header-cta .btn{display:none}
body.jmp-contact .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-contact .h-grid{grid-template-columns:1fr}
body.jmp-contact .hero-media{max-width:300px}
body.jmp-contact .hero-blob .jmp-panel-cap{display:none}
body.jmp-contact .chip{position:static;animation:none;margin:0}
body.jmp-contact .chip-1, body.jmp-contact .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-contact .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-contact .footer-grid{grid-template-columns:1fr}
body.jmp-contact .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-contact .reveal{opacity:1;translate:none}
}
body.jmp-contact :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-contact .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-contact .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-contact .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-contact .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:'Mulish',system-ui,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-contact .page-hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4rem) 0 clamp(1.4rem,3vw,2.2rem);overflow:hidden;text-align:center}
body.jmp-contact .page-hero .wrap{position:relative;z-index:2}
body.jmp-contact .page-hero h1{font-size:clamp(2.5rem,6vw,4.2rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.7rem}
body.jmp-contact .page-hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-contact .page-hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:52ch;margin:0 auto}
body.jmp-contact .page-hero .eyebrow{margin-inline:auto}
body.jmp-contact .page-hero .hero-sweep svg{left:auto;right:-10%;opacity:.55}
body.jmp-contact .page-hero .hero-sweep circle{display:none}
body.jmp-contact .contact{background:var(--cream);padding:var(--pad-section) 0}
body.jmp-contact .contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.8rem}
body.jmp-contact .form-card{background:#fff;border:2px solid var(--line);border-radius:30px;padding:clamp(1.8rem,3.5vw,2.6rem)}
body.jmp-contact .form-card h2{font-size:1.6rem;font-weight:700;margin-bottom:.4rem}
body.jmp-contact .form-card .form-intro{margin-bottom:1.6rem}
body.jmp-contact .field{margin-bottom:1.2rem}
body.jmp-contact .field label{display:block;font-family:var(--f-display);font-weight:600;color:var(--navy);margin-bottom:.4rem;font-size:1rem}
body.jmp-contact .field .opt{font-family:var(--f-body);font-weight:400;color:var(--ink-soft);font-size:.9rem}
body.jmp-contact .field input, body.jmp-contact .field textarea{width:100%;font-family:var(--f-body);font-size:1.02rem;color:var(--navy);background:#fff;border:2px solid var(--line);border-radius:16px;padding:.85rem 1.1rem;transition:border-color .2s ease,box-shadow .2s ease}
body.jmp-contact .field textarea{min-height:150px;resize:vertical;line-height:1.6}
body.jmp-contact .field input:hover, body.jmp-contact .field textarea:hover{border-color:var(--steel)}
body.jmp-contact .field input:focus, body.jmp-contact .field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(46,117,182,.14)}
body.jmp-contact .field input:user-invalid, body.jmp-contact .field textarea:user-invalid{border-color:#C0392B}
body.jmp-contact .field .err{display:none;color:#C0392B;font-size:.9rem;margin-top:.35rem;font-weight:600}
body.jmp-contact .field input:user-invalid ~ .err, body.jmp-contact .field textarea:user-invalid ~ .err{display:block}
body.jmp-contact .form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
body.jmp-contact .form-note{margin-top:1.2rem;background:var(--mint);border:2px solid #DCE9C6;border-radius:16px;padding:1rem 1.2rem;font-size:.98rem;color:var(--navy);display:none}
body.jmp-contact .form-note.show{display:block}
body.jmp-contact .form-note b{font-family:var(--f-display)}
body.jmp-contact .details{position:relative;overflow:hidden;background:var(--grad);border-radius:30px;padding:clamp(1.8rem,3.5vw,2.4rem);color:#fff;display:flex;flex-direction:column}
body.jmp-contact .details .sweep{position:absolute;inset:0;opacity:.18;z-index:0}
body.jmp-contact .details > *{position:relative;z-index:1}
body.jmp-contact .details h2{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.4rem}
body.jmp-contact .details .line{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.3rem}
body.jmp-contact .details .line .ic{width:42px;height:42px;flex:none;border-radius:13px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff}
body.jmp-contact .details .line b{display:block;font-family:var(--f-display);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:700;margin-bottom:.1rem}
body.jmp-contact .details .line a, body.jmp-contact .details .line span.val{color:#fff;font-family:var(--f-display);font-weight:600;font-size:1.12rem;word-break:break-word}
body.jmp-contact .details .line a:hover{text-decoration:underline}
body.jmp-contact .details .booking{border-top:2px solid rgba(255,255,255,.28);margin-top:auto;padding-top:1.6rem}
body.jmp-contact .details .booking p{color:rgba(255,255,255,.94);margin-bottom:1.1rem;font-size:1rem}
@media(max-width:980px){
body.jmp-contact .contact-grid{grid-template-columns:1fr}
}
body.jmp-contact .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-contact .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-contact .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-contact .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-contact .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-contact .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-contact .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-contact .notice-inner{padding-right:2.6rem}
body.jmp-contact .notice p{font-size:.94rem}
}
body.jmp-contact .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-contact .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-contact .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-contact .hub-close{display:none}
body.jmp-contact .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-contact .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-contact .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-contact .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-contact .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-contact .hub-item:hover{background:var(--sky)}
body.jmp-contact .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-contact .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-contact .hub-btn{width:50px;height:50px}
}
/* cookies.html, scoped to .jmp-cookies */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-cookies{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-cookies h1, body.jmp-cookies h2, body.jmp-cookies h3, body.jmp-cookies h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-cookies a{color:var(--blue);text-decoration:none}
body.jmp-cookies img{max-width:100%;display:block}
body.jmp-cookies .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-cookies .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-cookies .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-cookies .btn-primary:hover{transform:scale(1.04)}
body.jmp-cookies .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-cookies .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-cookies .btn-white{background:#fff;color:var(--navy)}
body.jmp-cookies .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-cookies .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-cookies .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-cookies .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-cookies .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-cookies .logo svg{flex:none}
body.jmp-cookies nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-cookies nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-cookies nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-cookies nav.main-nav a.navlink:hover::after, body.jmp-cookies nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-cookies .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-cookies .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-cookies .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-cookies .hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-cookies .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-cookies .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-cookies .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-cookies .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-cookies .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-cookies .hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--navy)}
body.jmp-cookies .hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-cookies .hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-cookies .hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-cookies .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-cookies .hero-media{position:relative;z-index:2}
body.jmp-cookies .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);background: linear-gradient(160deg,rgba(36,59,107,.05),rgba(36,59,107,.5)), repeating-linear-gradient(135deg,#cfdcf0 0 24px,#dae4f3 24px 48px); box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-cookies .hero-blob .ph{font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.88);margin-bottom:1.4rem;padding:.5rem 1rem;border-radius:12px;font-size:.85rem}
body.jmp-cookies .hero-chips-row{display:contents}
body.jmp-cookies .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-cookies .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-cookies .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-cookies .chip-1 .ic{background:var(--indigo)}
body.jmp-cookies .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-cookies .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-cookies .wave-top{display:block;width:100%;height:auto;margin-top:-1px}
body.jmp-cookies .intro{background:var(--cream);padding:var(--pad-section) 0;text-align:center;position:relative}
body.jmp-cookies .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-cookies .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:16ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-cookies .intro p{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-cookies .highlights{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-cookies .h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
body.jmp-cookies .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-cookies .h-card:nth-child(1){background:var(--indigo)}
body.jmp-cookies .h-card:nth-child(2){background:var(--steel)}
body.jmp-cookies .h-card:nth-child(3){background:var(--sage)}
body.jmp-cookies .h-card:nth-child(4){background:#647C28}
body.jmp-cookies .h-card:nth-child(odd){transform:translateY(-14px)}
body.jmp-cookies .h-card:hover{transform:translateY(-22px) rotate(-1deg)}
body.jmp-cookies .h-card:nth-child(even):hover{transform:translateY(-8px) rotate(1deg)}
body.jmp-cookies .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-cookies .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-cookies .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-cookies .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-cookies .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-cookies .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-cookies .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-cookies .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-cookies .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-cookies .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-cookies .testi{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-cookies .testi-head{text-align:center;max-width:60ch;margin:0 auto 2.8rem}
body.jmp-cookies .testi-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);font-size:1rem;margin-bottom:.7rem}
body.jmp-cookies .testi-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-cookies .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
body.jmp-cookies .quote{background:#fff;border-radius:24px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-cookies .quote:hover{transform:translateY(-6px)}
body.jmp-cookies .quote .mark{font-family:var(--f-display);font-size:3rem;line-height:.5;color:var(--lime);height:1.2rem}
body.jmp-cookies .quote p{color:var(--navy);font-size:1.05rem;margin:0;flex:1;font-weight:500}
body.jmp-cookies .quote .who{display:flex;align-items:center;gap:.75rem}
body.jmp-cookies .quote .av{width:42px;height:42px;border-radius:50%;flex:none}
body.jmp-cookies .quote:nth-child(1) .av{background:var(--indigo)}
body.jmp-cookies .quote:nth-child(2) .av{background:var(--sage)}
body.jmp-cookies .quote:nth-child(3) .av{background:var(--steel)}
body.jmp-cookies .quote .who b{font-family:var(--f-display);color:var(--navy);font-size:1rem;display:block;font-weight:700}
body.jmp-cookies .quote .who span{font-size:.85rem;color:var(--ink-soft)}
body.jmp-cookies .placeholder-note{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-top:1.8rem;font-style:italic}
body.jmp-cookies .paths{padding:var(--pad-section) 0}
body.jmp-cookies .paths-head{text-align:center;margin-bottom:2.6rem}
body.jmp-cookies .paths-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-cookies .paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-cookies .path{position:relative;border-radius:30px;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.4rem;color:#fff;box-shadow:var(--shadow);transition:transform .25s ease}
body.jmp-cookies .path:hover{transform:translateY(-8px)}
body.jmp-cookies .path::before{content:"";position:absolute;inset:0;z-index:0}
body.jmp-cookies .path-parents::before{background:linear-gradient(150deg,rgba(59,75,160,.55),rgba(36,59,107,.85)),linear-gradient(120deg,#3B4BA0,#4A7A99)}
body.jmp-cookies .path-schools::before{background:linear-gradient(150deg,rgba(125,168,79,.5),rgba(45,90,60,.82)),linear-gradient(120deg,#4A7A99,#5E7E3B,#B5CC3E)}
body.jmp-cookies .path>*{position:relative;z-index:1}
body.jmp-cookies .path .tag{display:inline-block;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);padding:.35rem .9rem;border-radius:999px;margin-bottom:.9rem;width:fit-content}
body.jmp-cookies .path h3{color:#fff;font-size:1.8rem;margin-bottom:.5rem;font-weight:700}
body.jmp-cookies .path p{color:rgba(255,255,255,.94);font-size:1.05rem;margin-bottom:1.5rem;max-width:32ch}
body.jmp-cookies .path .ph-corner{position:absolute;top:1.1rem;left:1.1rem;z-index:1;font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.86);padding:.4rem .85rem;border-radius:10px;font-size:.78rem}
body.jmp-cookies .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-cookies .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-cookies .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-cookies .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:46ch;margin:0 auto 2rem}
body.jmp-cookies .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-cookies .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-cookies .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-cookies .footer-brand .logo{margin-bottom:1rem}
body.jmp-cookies .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-cookies .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-cookies .footer-col ul{list-style:none}
body.jmp-cookies .footer-col li{margin-bottom:.6rem}
body.jmp-cookies .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-cookies .footer-col a:hover{color:var(--blue)}
body.jmp-cookies .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-cookies .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-cookies .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-cookies .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-cookies .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-cookies .footer-bottom a{color:var(--ink-soft)}
body.jmp-cookies .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-cookies .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-cookies .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-cookies .hero .sub{max-width:none;margin-inline:auto}
body.jmp-cookies .hero-ctas{justify-content:center}
body.jmp-cookies .eyebrow{margin-inline:auto}
body.jmp-cookies .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-cookies .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-cookies .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-cookies .h-card:nth-child(odd), body.jmp-cookies .h-card:nth-child(even){transform:none}
body.jmp-cookies .testi-grid{grid-template-columns:1fr}
body.jmp-cookies .paths-grid{grid-template-columns:1fr}
body.jmp-cookies .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-cookies nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-cookies nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-cookies .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-cookies .header-cta .btn{display:none}
body.jmp-cookies .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-cookies .h-grid{grid-template-columns:1fr}
body.jmp-cookies .hero-media{max-width:300px}
body.jmp-cookies .hero-blob .jmp-panel-cap{display:none}
body.jmp-cookies .chip{position:static;animation:none;margin:0}
body.jmp-cookies .chip-1, body.jmp-cookies .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-cookies .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-cookies .footer-grid{grid-template-columns:1fr}
body.jmp-cookies .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-cookies .reveal{opacity:1;translate:none}
}
body.jmp-cookies :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-cookies .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-cookies .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-cookies .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-cookies .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:'Mulish',system-ui,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-cookies .page-hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4rem) 0 clamp(1.4rem,3vw,2.2rem);overflow:hidden;text-align:center}
body.jmp-cookies .page-hero .wrap{position:relative;z-index:2}
body.jmp-cookies .page-hero h1{font-size:clamp(2.5rem,6vw,4.2rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.7rem}
body.jmp-cookies .page-hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-cookies .page-hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:52ch;margin:0 auto}
body.jmp-cookies .page-hero .eyebrow{margin-inline:auto}
body.jmp-cookies .page-hero .hero-sweep svg{left:auto;right:-10%;opacity:.55}
body.jmp-cookies .page-hero .hero-sweep circle{display:none}
body.jmp-cookies .contact{background:var(--cream);padding:var(--pad-section) 0}
body.jmp-cookies .contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.8rem}
body.jmp-cookies .form-card{background:#fff;border:2px solid var(--line);border-radius:30px;padding:clamp(1.8rem,3.5vw,2.6rem)}
body.jmp-cookies .form-card h2{font-size:1.6rem;font-weight:700;margin-bottom:.4rem}
body.jmp-cookies .form-card .form-intro{margin-bottom:1.6rem}
body.jmp-cookies .field{margin-bottom:1.2rem}
body.jmp-cookies .field label{display:block;font-family:var(--f-display);font-weight:600;color:var(--navy);margin-bottom:.4rem;font-size:1rem}
body.jmp-cookies .field .opt{font-family:var(--f-body);font-weight:400;color:var(--ink-soft);font-size:.9rem}
body.jmp-cookies .field input, body.jmp-cookies .field textarea{width:100%;font-family:var(--f-body);font-size:1.02rem;color:var(--navy);background:#fff;border:2px solid var(--line);border-radius:16px;padding:.85rem 1.1rem;transition:border-color .2s ease,box-shadow .2s ease}
body.jmp-cookies .field textarea{min-height:150px;resize:vertical;line-height:1.6}
body.jmp-cookies .field input:hover, body.jmp-cookies .field textarea:hover{border-color:var(--steel)}
body.jmp-cookies .field input:focus, body.jmp-cookies .field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(46,117,182,.14)}
body.jmp-cookies .field input:user-invalid, body.jmp-cookies .field textarea:user-invalid{border-color:#C0392B}
body.jmp-cookies .field .err{display:none;color:#C0392B;font-size:.9rem;margin-top:.35rem;font-weight:600}
body.jmp-cookies .field input:user-invalid ~ .err, body.jmp-cookies .field textarea:user-invalid ~ .err{display:block}
body.jmp-cookies .form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
body.jmp-cookies .form-note{margin-top:1.2rem;background:var(--mint);border:2px solid #DCE9C6;border-radius:16px;padding:1rem 1.2rem;font-size:.98rem;color:var(--navy);display:none}
body.jmp-cookies .form-note.show{display:block}
body.jmp-cookies .form-note b{font-family:var(--f-display)}
body.jmp-cookies .details{position:relative;overflow:hidden;background:var(--grad);border-radius:30px;padding:clamp(1.8rem,3.5vw,2.4rem);color:#fff;display:flex;flex-direction:column}
body.jmp-cookies .details .sweep{position:absolute;inset:0;opacity:.18;z-index:0}
body.jmp-cookies .details > *{position:relative;z-index:1}
body.jmp-cookies .details h2{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.4rem}
body.jmp-cookies .details .line{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.3rem}
body.jmp-cookies .details .line .ic{width:42px;height:42px;flex:none;border-radius:13px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff}
body.jmp-cookies .details .line b{display:block;font-family:var(--f-display);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:700;margin-bottom:.1rem}
body.jmp-cookies .details .line a, body.jmp-cookies .details .line span.val{color:#fff;font-family:var(--f-display);font-weight:600;font-size:1.12rem;word-break:break-word}
body.jmp-cookies .details .line a:hover{text-decoration:underline}
body.jmp-cookies .details .booking{border-top:2px solid rgba(255,255,255,.28);margin-top:auto;padding-top:1.6rem}
body.jmp-cookies .details .booking p{color:rgba(255,255,255,.94);margin-bottom:1.1rem;font-size:1rem}
@media(max-width:980px){
body.jmp-cookies .contact-grid{grid-template-columns:1fr}
}
body.jmp-cookies .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-cookies .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-cookies .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-cookies .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-cookies .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-cookies .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-cookies .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-cookies .notice-inner{padding-right:2.6rem}
body.jmp-cookies .notice p{font-size:.94rem}
}
body.jmp-cookies .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-cookies .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-cookies .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-cookies .hub-close{display:none}
body.jmp-cookies .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-cookies .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-cookies .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-cookies .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-cookies .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-cookies .hub-item:hover{background:var(--sky)}
body.jmp-cookies .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-cookies .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-cookies .hub-btn{width:50px;height:50px}
}
body.jmp-cookies .page-hero{padding-bottom:clamp(2rem,4vw,3.5rem)}
body.jmp-cookies .legal{padding:clamp(1.5rem,3vw,2.5rem) 0 var(--pad-section);background:#fff}
body.jmp-cookies .legal-inner{max-width:75ch;margin:0 auto}
body.jmp-cookies .legal h2{font-size:clamp(1.4rem,2.6vw,1.85rem);margin:2.6rem 0 .8rem}
body.jmp-cookies .legal h2:first-child{margin-top:0}
body.jmp-cookies .legal h3{font-size:1.15rem;margin:1.6rem 0 .5rem}
body.jmp-cookies .legal p{margin-bottom:1rem}
body.jmp-cookies .legal ul{margin:0 0 1.2rem 1.2rem}
body.jmp-cookies .legal li{margin-bottom:.5rem}
body.jmp-cookies .legal a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
body.jmp-cookies .legal .updated{font-size:.95rem;color:var(--ink-soft);border-left:4px solid var(--line); padding-left:1rem;margin-bottom:2.4rem}
body.jmp-cookies .legal .todo{background:#FFF6E5;border:2px solid #F0D9A8;border-radius:16px; padding:1.2rem 1.4rem;margin:1.6rem 0}
body.jmp-cookies .legal .todo b{font-family:var(--f-display);color:var(--navy);display:block;margin-bottom:.4rem}
/* index.html, scoped to .jmp-index */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-index{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-index h1, body.jmp-index h2, body.jmp-index h3, body.jmp-index h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-index a{color:var(--blue);text-decoration:none}
body.jmp-index img{max-width:100%;display:block}
body.jmp-index .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-index .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-index .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-index .btn-primary:hover{transform:scale(1.04)}
body.jmp-index .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-index .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-index .btn-white{background:#fff;color:var(--navy)}
body.jmp-index .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-index .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-index .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-index .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-index .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-index .logo svg{flex:none}
body.jmp-index nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-index nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-index nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-index nav.main-nav a.navlink:hover::after, body.jmp-index nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-index .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-index .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-index .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-index .hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-index .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-index .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-index .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-index .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-index .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-index .hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--navy)}
body.jmp-index .hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-index .hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-index .hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-index .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-index .hero-media{position:relative;z-index:2}
body.jmp-index .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);background: linear-gradient(160deg,rgba(36,59,107,.05),rgba(36,59,107,.5)), repeating-linear-gradient(135deg,#cfdcf0 0 24px,#dae4f3 24px 48px); box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-index .hero-blob .ph{font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.88);margin-bottom:1.4rem;padding:.5rem 1rem;border-radius:12px;font-size:.85rem}
body.jmp-index .hero-blob.has-photo{background:none;align-items:stretch;justify-content:stretch}
body.jmp-index .hero-blob.has-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
body.jmp-index .hero-chips-row{display:contents}
body.jmp-index .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-index .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-index .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-index .chip-1 .ic{background:var(--indigo)}
body.jmp-index .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-index .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-index .wave-top{display:block;width:100%;height:auto;margin-top:-1px}
body.jmp-index .intro{background:var(--cream);padding:var(--pad-section) 0;text-align:center;position:relative}
body.jmp-index .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-index .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:16ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-index .intro p{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-index .highlights{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-index .h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
body.jmp-index .lift{display:grid}
body.jmp-index .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-index .lift:nth-child(1) .h-card{background:var(--indigo)}
body.jmp-index .lift:nth-child(2) .h-card{background:var(--steel)}
body.jmp-index .lift:nth-child(3) .h-card{background:var(--sage)}
body.jmp-index .lift:nth-child(4) .h-card{background:#647C28}
body.jmp-index .h-grid .lift:nth-child(odd){transform:translateY(-14px)}
body.jmp-index .lift:hover .h-card{transform:translateY(-8px) rotate(-1deg)}
body.jmp-index .lift:nth-child(even):hover .h-card{transform:translateY(-8px) rotate(1deg)}
body.jmp-index .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-index .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-index .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-index .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-index .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-index .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-index .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-index .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-index .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-index .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-index .testi{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-index .testi-head{text-align:center;max-width:60ch;margin:0 auto 2.8rem}
body.jmp-index .testi-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);font-size:1rem;margin-bottom:.7rem}
body.jmp-index .testi-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-index .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
body.jmp-index .quote{background:#fff;border-radius:24px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-index .lift:hover .quote{transform:translateY(-6px)}
body.jmp-index .quote .mark{font-family:var(--f-display);font-size:3rem;line-height:.5;color:var(--lime);height:1.2rem}
body.jmp-index .quote p{color:var(--navy);font-size:1.05rem;margin:0;flex:1;font-weight:500}
body.jmp-index .quote .who{display:flex;align-items:center;gap:.75rem}
body.jmp-index .quote .av{width:42px;height:42px;border-radius:50%;flex:none}
body.jmp-index .lift:nth-child(1) .quote .av{background:var(--indigo)}
body.jmp-index .lift:nth-child(2) .quote .av{background:var(--sage)}
body.jmp-index .lift:nth-child(3) .quote .av{background:var(--steel)}
body.jmp-index .quote .who b{font-family:var(--f-display);color:var(--navy);font-size:1rem;display:block;font-weight:700}
body.jmp-index .quote .who span{font-size:.85rem;color:var(--ink-soft)}
body.jmp-index .placeholder-note{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-top:1.8rem;font-style:italic}
body.jmp-index .paths{padding:var(--pad-section) 0}
body.jmp-index .paths-head{text-align:center;margin-bottom:2.6rem}
body.jmp-index .paths-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-index .paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-index .path{position:relative;border-radius:30px;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.4rem;color:#fff;box-shadow:var(--shadow);transition:transform .25s ease}
body.jmp-index .lift:hover .path{transform:translateY(-8px)}
body.jmp-index .path::before{content:"";position:absolute;inset:0;z-index:0}
body.jmp-index .path-parents::before{background:linear-gradient(150deg,rgba(59,75,160,.55),rgba(36,59,107,.85)),linear-gradient(120deg,#3B4BA0,#4A7A99)}
body.jmp-index .path-schools::before{background:linear-gradient(150deg,rgba(125,168,79,.5),rgba(45,90,60,.82)),linear-gradient(120deg,#4A7A99,#5E7E3B,#B5CC3E)}
body.jmp-index .path>*{position:relative;z-index:1}
body.jmp-index .path .tag{display:inline-block;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);padding:.35rem .9rem;border-radius:999px;margin-bottom:.9rem;width:fit-content}
body.jmp-index .path h3{color:#fff;font-size:1.8rem;margin-bottom:.5rem;font-weight:700}
body.jmp-index .path p{color:rgba(255,255,255,.94);font-size:1.05rem;margin-bottom:1.5rem;max-width:32ch}
body.jmp-index .path .ph-corner{position:absolute;top:1.1rem;left:1.1rem;z-index:1;font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.86);padding:.4rem .85rem;border-radius:10px;font-size:.78rem}
body.jmp-index .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-index .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-index .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-index .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:46ch;margin:0 auto 2rem}
body.jmp-index .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-index .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-index .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-index .footer-brand .logo{margin-bottom:1rem}
body.jmp-index .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-index .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-index .footer-col ul{list-style:none}
body.jmp-index .footer-col li{margin-bottom:.6rem}
body.jmp-index .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-index .footer-col a:hover{color:var(--blue)}
body.jmp-index .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-index .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-index .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-index .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-index .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-index .footer-bottom a{color:var(--ink-soft)}
body.jmp-index .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-index .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-index .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-index .hero .sub{max-width:none;margin-inline:auto}
body.jmp-index .hero-ctas{justify-content:center}
body.jmp-index .eyebrow{margin-inline:auto}
body.jmp-index .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-index .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-index .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-index .h-grid .lift:nth-child(odd), body.jmp-index .h-grid .lift:nth-child(even){transform:none}
body.jmp-index .testi-grid{grid-template-columns:1fr}
body.jmp-index .paths-grid{grid-template-columns:1fr}
body.jmp-index .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-index nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-index nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-index .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-index .header-cta .btn{display:none}
body.jmp-index .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-index .h-grid{grid-template-columns:1fr}
body.jmp-index .hero-media{max-width:300px}
body.jmp-index .hero-blob .jmp-panel-cap{display:none}
body.jmp-index .chip{position:static;animation:none;margin:0}
body.jmp-index .chip-1, body.jmp-index .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-index .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-index .footer-grid{grid-template-columns:1fr}
body.jmp-index .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-index .reveal{opacity:1;translate:none}
}
body.jmp-index :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-index .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-index .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-index .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-index .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:'Mulish',system-ui,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-index .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-index .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-index .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-index .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-index .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-index .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-index .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-index .notice-inner{padding-right:2.6rem}
body.jmp-index .notice p{font-size:.94rem}
}
body.jmp-index .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-index .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-index .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-index .hub-close{display:none}
body.jmp-index .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-index .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-index .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-index .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-index .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-index .hub-item:hover{background:var(--sky)}
body.jmp-index .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-index .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-index .hub-btn{width:50px;height:50px}
}
/* join.html, scoped to .jmp-join */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-join{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-join h1, body.jmp-join h2, body.jmp-join h3, body.jmp-join h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-join a{color:var(--blue);text-decoration:none}
body.jmp-join img{max-width:100%;display:block}
body.jmp-join .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-join .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-join .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-join .btn-primary:hover{transform:scale(1.04)}
body.jmp-join .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-join .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-join .btn-white{background:#fff;color:var(--navy)}
body.jmp-join .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-join .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-join .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-join .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-join .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-join .logo svg{flex:none}
body.jmp-join nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-join nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-join nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-join nav.main-nav a.navlink:hover::after, body.jmp-join nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-join .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-join .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-join .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-join .hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-join .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-join .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-join .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-join .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-join .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-join .hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--navy)}
body.jmp-join .hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-join .hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-join .hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-join .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-join .hero-media{position:relative;z-index:2}
body.jmp-join .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);background: linear-gradient(160deg,rgba(36,59,107,.05),rgba(36,59,107,.5)), repeating-linear-gradient(135deg,#cfdcf0 0 24px,#dae4f3 24px 48px); box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-join .hero-blob .ph{font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.88);margin-bottom:1.4rem;padding:.5rem 1rem;border-radius:12px;font-size:.85rem}
body.jmp-join .hero-chips-row{display:contents}
body.jmp-join .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-join .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-join .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-join .chip-1 .ic{background:var(--indigo)}
body.jmp-join .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-join .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-join .wave-top{display:block;width:100%;height:auto;margin-top:-1px}
body.jmp-join .intro{background:var(--cream);padding:var(--pad-section) 0;text-align:center;position:relative}
body.jmp-join .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-join .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:16ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-join .intro p{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-join .highlights{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-join .h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
body.jmp-join .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-join .h-card:nth-child(1){background:var(--indigo)}
body.jmp-join .h-card:nth-child(2){background:var(--steel)}
body.jmp-join .h-card:nth-child(3){background:var(--sage)}
body.jmp-join .h-card:nth-child(4){background:#647C28}
body.jmp-join .h-card:nth-child(odd){transform:translateY(-14px)}
body.jmp-join .h-card:hover{transform:translateY(-22px) rotate(-1deg)}
body.jmp-join .h-card:nth-child(even):hover{transform:translateY(-8px) rotate(1deg)}
body.jmp-join .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-join .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-join .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-join .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-join .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-join .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-join .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-join .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-join .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-join .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-join .testi{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-join .testi-head{text-align:center;max-width:60ch;margin:0 auto 2.8rem}
body.jmp-join .testi-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);font-size:1rem;margin-bottom:.7rem}
body.jmp-join .testi-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-join .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
body.jmp-join .quote{background:#fff;border-radius:24px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-join .quote:hover{transform:translateY(-6px)}
body.jmp-join .quote .mark{font-family:var(--f-display);font-size:3rem;line-height:.5;color:var(--lime);height:1.2rem}
body.jmp-join .quote p{color:var(--navy);font-size:1.05rem;margin:0;flex:1;font-weight:500}
body.jmp-join .quote .who{display:flex;align-items:center;gap:.75rem}
body.jmp-join .quote .av{width:42px;height:42px;border-radius:50%;flex:none}
body.jmp-join .quote:nth-child(1) .av{background:var(--indigo)}
body.jmp-join .quote:nth-child(2) .av{background:var(--sage)}
body.jmp-join .quote:nth-child(3) .av{background:var(--steel)}
body.jmp-join .quote .who b{font-family:var(--f-display);color:var(--navy);font-size:1rem;display:block;font-weight:700}
body.jmp-join .quote .who span{font-size:.85rem;color:var(--ink-soft)}
body.jmp-join .placeholder-note{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-top:1.8rem;font-style:italic}
body.jmp-join .paths{padding:var(--pad-section) 0}
body.jmp-join .paths-head{text-align:center;margin-bottom:2.6rem}
body.jmp-join .paths-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-join .paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-join .path{position:relative;border-radius:30px;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.4rem;color:#fff;box-shadow:var(--shadow);transition:transform .25s ease}
body.jmp-join .path:hover{transform:translateY(-8px)}
body.jmp-join .path::before{content:"";position:absolute;inset:0;z-index:0}
body.jmp-join .path-parents::before{background:linear-gradient(150deg,rgba(59,75,160,.55),rgba(36,59,107,.85)),linear-gradient(120deg,#3B4BA0,#4A7A99)}
body.jmp-join .path-schools::before{background:linear-gradient(150deg,rgba(125,168,79,.5),rgba(45,90,60,.82)),linear-gradient(120deg,#4A7A99,#5E7E3B,#B5CC3E)}
body.jmp-join .path>*{position:relative;z-index:1}
body.jmp-join .path .tag{display:inline-block;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);padding:.35rem .9rem;border-radius:999px;margin-bottom:.9rem;width:fit-content}
body.jmp-join .path h3{color:#fff;font-size:1.8rem;margin-bottom:.5rem;font-weight:700}
body.jmp-join .path p{color:rgba(255,255,255,.94);font-size:1.05rem;margin-bottom:1.5rem;max-width:32ch}
body.jmp-join .path .ph-corner{position:absolute;top:1.1rem;left:1.1rem;z-index:1;font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.86);padding:.4rem .85rem;border-radius:10px;font-size:.78rem}
body.jmp-join .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-join .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-join .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-join .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:46ch;margin:0 auto 2rem}
body.jmp-join .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-join .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-join .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-join .footer-brand .logo{margin-bottom:1rem}
body.jmp-join .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-join .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-join .footer-col ul{list-style:none}
body.jmp-join .footer-col li{margin-bottom:.6rem}
body.jmp-join .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-join .footer-col a:hover{color:var(--blue)}
body.jmp-join .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-join .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-join .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-join .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-join .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-join .footer-bottom a{color:var(--ink-soft)}
body.jmp-join .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-join .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-join .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-join .hero .sub{max-width:none;margin-inline:auto}
body.jmp-join .hero-ctas{justify-content:center}
body.jmp-join .eyebrow{margin-inline:auto}
body.jmp-join .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-join .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-join .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-join .h-card:nth-child(odd), body.jmp-join .h-card:nth-child(even){transform:none}
body.jmp-join .testi-grid{grid-template-columns:1fr}
body.jmp-join .paths-grid{grid-template-columns:1fr}
body.jmp-join .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-join nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-join nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-join .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-join .header-cta .btn{display:none}
body.jmp-join .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-join .h-grid{grid-template-columns:1fr}
body.jmp-join .hero-media{max-width:300px}
body.jmp-join .hero-blob .jmp-panel-cap{display:none}
body.jmp-join .chip{position:static;animation:none;margin:0}
body.jmp-join .chip-1, body.jmp-join .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-join .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-join .footer-grid{grid-template-columns:1fr}
body.jmp-join .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-join .reveal{opacity:1;translate:none}
}
body.jmp-join :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-join .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-join .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-join .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-join .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:'Mulish',system-ui,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-join .hero-blob.has-photo{background:none;align-items:stretch;justify-content:stretch}
body.jmp-join .hero-blob.has-photo img{width:100%;height:100%;object-fit:cover}
body.jmp-join .steps{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-join .steps-head{text-align:center;max-width:60ch;margin:0 auto 2.6rem}
body.jmp-join .steps-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-join .steps-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-join .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;position:relative}
body.jmp-join .lift{display:grid}
body.jmp-join .steps-grid::before{content:"";position:absolute;left:9%;right:9%;top:calc(2rem + 27px);height:3px;border-radius:3px;background:var(--grad);opacity:.45;z-index:0}
body.jmp-join .step{position:relative;z-index:1;overflow:hidden;border:2px solid var(--line);border-radius:26px;padding:2rem 1.6rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}
body.jmp-join .lift:hover .step{transform:translateY(-10px);box-shadow:var(--shadow)}
body.jmp-join .step .num{width:54px;height:54px;border-radius:16px;color:#fff;font-family:var(--f-display);font-weight:800;font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;box-shadow:var(--shadow-sm)}
body.jmp-join .lift:nth-child(1) .step{background:#F2F4FC;border-color:#DCE3F7}
body.jmp-join .lift:nth-child(2) .step{background:#EFF5FA;border-color:#D6E6F0}
body.jmp-join .lift:nth-child(3) .step{background:#F3F8EB;border-color:#DDEBC8}
body.jmp-join .lift:nth-child(4) .step{background:#F7FAE8;border-color:#E5EFC0}
body.jmp-join .lift:nth-child(1) .step .num{background:var(--indigo)}
body.jmp-join .lift:nth-child(2) .step .num{background:var(--steel)}
body.jmp-join .lift:nth-child(3) .step .num{background:var(--sage)}
body.jmp-join .lift:nth-child(4) .step .num{background:#647C28}
body.jmp-join .lift:nth-child(1) .step .arc-bg circle{fill:var(--indigo)}
body.jmp-join .lift:nth-child(1) .step .arc-bg path{stroke:var(--indigo)}
body.jmp-join .lift:nth-child(2) .step .arc-bg circle{fill:var(--steel)}
body.jmp-join .lift:nth-child(2) .step .arc-bg path{stroke:var(--steel)}
body.jmp-join .lift:nth-child(3) .step .arc-bg circle{fill:var(--sage)}
body.jmp-join .lift:nth-child(3) .step .arc-bg path{stroke:var(--sage)}
body.jmp-join .lift:nth-child(4) .step .arc-bg circle{fill:#647C28}
body.jmp-join .lift:nth-child(4) .step .arc-bg path{stroke:#647C28}
body.jmp-join .step p{position:relative;z-index:1;color:var(--navy);font-weight:500;font-size:1.02rem}
body.jmp-join .step .arc-bg{position:absolute;right:-34px;bottom:-34px;opacity:.13;pointer-events:none}
body.jmp-join .steps-cta{text-align:center;margin-top:2.6rem}
body.jmp-join .lessons{padding:var(--pad-section) 0}
body.jmp-join .sec-head{text-align:center;max-width:62ch;margin:0 auto 2.6rem}
body.jmp-join .sec-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-join .sec-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800;margin-bottom:.8rem}
body.jmp-join .sec-head p{font-size:1.12rem}
body.jmp-join .lesson-grid{display:grid;gap:1.6rem}
body.jmp-join .lesson-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-join .side-panel{position:relative;border-radius:28px;overflow:hidden;min-height:250px;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-join .lift:hover .side-panel{transform:translateY(-6px)}
body.jmp-join .side-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
body.jmp-join .lesson-card{border-radius:28px;padding:2.2rem 2rem;color:#fff;position:relative;overflow:hidden}
body.jmp-join .lesson-card.instrumental{background:var(--indigo)}
body.jmp-join .lesson-card.vocal{background:var(--sage)}
body.jmp-join .lesson-card h3{color:#fff;font-size:1.45rem;margin-bottom:1.1rem;font-weight:700}
body.jmp-join .lesson-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.16;pointer-events:none}
body.jmp-join .pill-list{display:flex;flex-wrap:wrap;gap:.6rem;position:relative;z-index:1}
body.jmp-join .pill-list span{background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.32);border-radius:999px;padding:.45rem 1rem;font-family:var(--f-display);font-weight:600;font-size:.95rem;color:#fff;cursor:default;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
body.jmp-join .pill-list span:hover{transform:scale(1.08);background:#fff;color:var(--navy);border-color:#fff;box-shadow:0 10px 22px rgba(20,35,70,.28)}
body.jmp-join .lesson-card .note{position:relative;z-index:1;margin-top:1.1rem;font-size:.95rem;color:rgba(255,255,255,.9)}
body.jmp-join .expect{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-join .expect-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-join .panel{background:#fff;border-radius:28px;padding:2.2rem 2rem;box-shadow:var(--shadow-sm)}
body.jmp-join .panel h3{font-size:1.4rem;margin-bottom:1rem;font-weight:700}
body.jmp-join .panel > p{margin-bottom:1rem}
body.jmp-join .check{list-style:none}
body.jmp-join .check li{position:relative;padding-left:2rem;margin-bottom:.75rem;color:var(--navy);font-weight:500;transition:padding-left .2s ease}
body.jmp-join .check li:hover{padding-left:2.35rem}
body.jmp-join .check li::before{content:"";position:absolute;left:0;top:.22rem;width:20px;height:20px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l5 5L19 7'/%3E%3C/svg%3E") center/11px no-repeat, var(--grad)}
body.jmp-join .info{background:var(--cream);padding:var(--pad-section) 0}
body.jmp-join .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:start}
body.jmp-join .length-pills{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
body.jmp-join .length-pills span{font-family:var(--f-display);font-weight:700;color:var(--navy);background:var(--mint);border:2px solid var(--line);border-radius:999px;padding:.6rem 1.3rem;font-size:1.02rem;cursor:default;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
body.jmp-join .length-pills span:hover{transform:scale(1.07);background:var(--grad) border-box;color:#fff;border-color:transparent;box-shadow:var(--shadow-pop)}
body.jmp-join .length-pills span small{font-family:var(--f-body);font-weight:600;font-size:.86rem;color:var(--ink-soft);margin-left:.3rem}
body.jmp-join .length-pills span:hover small{color:rgba(255,255,255,.92)}
body.jmp-join .group-lengths{margin-top:1.6rem;padding-top:1.4rem;border-top:2px solid var(--line)}
body.jmp-join .group-lengths h4{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:1.08rem;margin-bottom:.8rem}
body.jmp-join .group-lengths dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;align-items:baseline}
body.jmp-join .group-lengths dt{font-family:var(--f-display);font-weight:700;color:var(--navy)}
body.jmp-join .group-lengths dd{color:var(--ink-soft)}
body.jmp-join .journal{margin-top:1.4rem;display:flex;gap:.9rem;align-items:center;background:var(--mint);border-radius:18px;padding:1.1rem 1.2rem}
body.jmp-join .journal .ic{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center}
body.jmp-join .journal p{font-size:.96rem;margin:0}
body.jmp-join .fees{padding:var(--pad-section) 0}
body.jmp-join .fees-inner{position:relative;overflow:hidden;background:var(--grad-warm);border-radius:34px;padding:clamp(2.2rem,5vw,3.4rem);color:#fff;text-align:center}
body.jmp-join .fees-inner h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:800;margin-bottom:.7rem;position:relative;z-index:2}
body.jmp-join .fees-inner p{color:rgba(255,255,255,.95);font-size:1.1rem;max-width:56ch;margin:0 auto .5rem;position:relative;z-index:2}
body.jmp-join .fees-inner .sweep{position:absolute;inset:0;opacity:.2;z-index:1}
body.jmp-join .faqs{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-join .faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
body.jmp-join .faq{background:#fff;border:2px solid var(--line);border-radius:22px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
body.jmp-join .faq[open]{border-color:var(--steel);box-shadow:var(--shadow-sm)}
body.jmp-join .faq summary{list-style:none;cursor:pointer;padding:1.3rem 1.6rem;font-family:var(--f-display);font-weight:700;font-size:1.12rem;color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:1rem}
body.jmp-join .faq summary::-webkit-details-marker{display:none}
body.jmp-join .faq summary::after{content:"";flex:none;width:12px;height:12px;border:3px solid var(--steel);border-top:0;border-left:0;transform:rotate(45deg) translateY(-3px);transition:transform .25s ease}
body.jmp-join .faq[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
body.jmp-join .faq .faq-body{padding:0 1.6rem 1.4rem}
@media(max-width:980px){
body.jmp-join .steps-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-join .steps-grid::before{display:none}
body.jmp-join .expect-grid, body.jmp-join .info-grid, body.jmp-join .lesson-row{grid-template-columns:1fr}
body.jmp-join .side-panel{min-height:220px}
}
@media(max-width:760px){
body.jmp-join .steps-grid{grid-template-columns:1fr}
}
body.jmp-join .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-join .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-join .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-join .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-join .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-join .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-join .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-join .notice-inner{padding-right:2.6rem}
body.jmp-join .notice p{font-size:.94rem}
}
body.jmp-join .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-join .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-join .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-join .hub-close{display:none}
body.jmp-join .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-join .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-join .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-join .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-join .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-join .hub-item:hover{background:var(--sky)}
body.jmp-join .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-join .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-join .hub-btn{width:50px;height:50px}
}
body.jmp-join .length-pills span{position:relative}
body.jmp-join .pill-list span{position:relative}
/* pre-school.html, scoped to .jmp-pre-school */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-pre-school{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-pre-school h1, body.jmp-pre-school h2, body.jmp-pre-school h3, body.jmp-pre-school h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-pre-school a{color:var(--blue);text-decoration:none}
body.jmp-pre-school img{max-width:100%;display:block}
body.jmp-pre-school .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-pre-school .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-pre-school .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-pre-school .btn-primary:hover{transform:scale(1.04)}
body.jmp-pre-school .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-pre-school .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-pre-school .btn-white{background:#fff;color:var(--navy)}
body.jmp-pre-school .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-pre-school .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-pre-school .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-pre-school .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-pre-school .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-pre-school .logo svg{flex:none}
body.jmp-pre-school nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-pre-school nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-pre-school nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-pre-school nav.main-nav a.navlink:hover::after, body.jmp-pre-school nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-pre-school .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-pre-school .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-pre-school .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-pre-school .hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-pre-school .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-pre-school .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-pre-school .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-pre-school .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-pre-school .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-pre-school .hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--navy)}
body.jmp-pre-school .hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-pre-school .hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-pre-school .hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-pre-school .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-pre-school .hero-media{position:relative;z-index:2}
body.jmp-pre-school .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);background: linear-gradient(160deg,rgba(36,59,107,.05),rgba(36,59,107,.5)), repeating-linear-gradient(135deg,#cfdcf0 0 24px,#dae4f3 24px 48px); box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-pre-school .hero-blob .ph{font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.88);margin-bottom:1.4rem;padding:.5rem 1rem;border-radius:12px;font-size:.85rem}
body.jmp-pre-school .hero-blob.has-photo{background:none;align-items:stretch;justify-content:stretch}
body.jmp-pre-school .hero-blob.has-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
body.jmp-pre-school .hero-chips-row{display:contents}
body.jmp-pre-school .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-pre-school .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-pre-school .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-pre-school .chip-1 .ic{background:var(--indigo)}
body.jmp-pre-school .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-pre-school .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-pre-school .wave-top{display:block;width:100%;height:auto;margin-top:-1px}
body.jmp-pre-school .intro{background:var(--cream);padding:var(--pad-section) 0;text-align:center;position:relative}
body.jmp-pre-school .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-pre-school .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:16ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-pre-school .intro p{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-pre-school .highlights{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-pre-school .h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
body.jmp-pre-school .lift{display:grid}
body.jmp-pre-school .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-pre-school .lift:nth-child(1) .h-card{background:var(--indigo)}
body.jmp-pre-school .lift:nth-child(2) .h-card{background:var(--steel)}
body.jmp-pre-school .lift:nth-child(3) .h-card{background:var(--sage)}
body.jmp-pre-school .lift:nth-child(4) .h-card{background:#647C28}
body.jmp-pre-school .h-grid .lift:nth-child(odd){transform:translateY(-14px)}
body.jmp-pre-school .lift:hover .h-card{transform:translateY(-8px) rotate(-1deg)}
body.jmp-pre-school .lift:nth-child(even):hover .h-card{transform:translateY(-8px) rotate(1deg)}
body.jmp-pre-school .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-pre-school .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-pre-school .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-pre-school .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-pre-school .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-pre-school .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-pre-school .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-pre-school .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-pre-school .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-pre-school .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-pre-school .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-pre-school .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-pre-school .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-pre-school .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:46ch;margin:0 auto 2rem}
body.jmp-pre-school .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-pre-school .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-pre-school .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-pre-school .footer-brand .logo{margin-bottom:1rem}
body.jmp-pre-school .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-pre-school .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-pre-school .footer-col ul{list-style:none}
body.jmp-pre-school .footer-col li{margin-bottom:.6rem}
body.jmp-pre-school .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-pre-school .footer-col a:hover{color:var(--blue)}
body.jmp-pre-school .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-pre-school .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-pre-school .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-pre-school .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-pre-school .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-pre-school .footer-bottom a{color:var(--ink-soft)}
body.jmp-pre-school .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-pre-school .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-pre-school .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-pre-school .hero .sub{max-width:none;margin-inline:auto}
body.jmp-pre-school .hero-ctas{justify-content:center}
body.jmp-pre-school .eyebrow{margin-inline:auto}
body.jmp-pre-school .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-pre-school .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-pre-school .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-pre-school .h-grid .lift:nth-child(odd), body.jmp-pre-school .h-grid .lift:nth-child(even){transform:none}
body.jmp-pre-school .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-pre-school nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-pre-school nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-pre-school .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-pre-school .header-cta .btn{display:none}
body.jmp-pre-school .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-pre-school .h-grid{grid-template-columns:1fr}
body.jmp-pre-school .hero-media{max-width:300px}
body.jmp-pre-school .hero-blob .jmp-panel-cap{display:none}
body.jmp-pre-school .chip{position:static;animation:none;margin:0}
body.jmp-pre-school .chip-1, body.jmp-pre-school .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-pre-school .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-pre-school .footer-grid{grid-template-columns:1fr}
body.jmp-pre-school .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-pre-school .reveal{opacity:1;translate:none}
}
body.jmp-pre-school :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-pre-school .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-pre-school .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-pre-school .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-pre-school .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:'Mulish',system-ui,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-pre-school .sec-head{text-align:center;max-width:62ch;margin:0 auto 2.6rem}
body.jmp-pre-school .sec-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-pre-school .sec-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800;margin-bottom:.8rem}
body.jmp-pre-school .sec-head p{font-size:1.12rem}
body.jmp-pre-school .intro p.lead-in{margin-top:1.5rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:1.18rem}
body.jmp-pre-school .offer{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-pre-school .offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
body.jmp-pre-school .offer-card{border-radius:28px;padding:2.2rem 1.9rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-pre-school .lift:hover .offer-card{transform:translateY(-10px)}
body.jmp-pre-school .lift:nth-child(1) .offer-card{background:var(--indigo)}
body.jmp-pre-school .lift:nth-child(2) .offer-card{background:var(--steel)}
body.jmp-pre-school .offer-card h3{color:#fff;font-size:1.4rem;margin-bottom:.6rem;font-weight:700;position:relative;z-index:1}
body.jmp-pre-school .offer-card .ic{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#fff;position:relative;z-index:1}
body.jmp-pre-school .offer-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.16;pointer-events:none}
body.jmp-pre-school .tick{list-style:none;position:relative;z-index:1}
body.jmp-pre-school .tick li{position:relative;padding-left:1.6rem;margin-bottom:.55rem;color:#fff;font-size:1rem;font-weight:500}
body.jmp-pre-school .tick li::before{content:"";position:absolute;left:0;top:.62rem;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.85)}
body.jmp-pre-school .reassure{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-pre-school .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
body.jmp-pre-school .trust{background:#fff;border-radius:24px;padding:1.7rem 1.4rem;box-shadow:var(--shadow-sm);border:2px solid var(--line);transition:transform .25s ease;display:flex;align-items:center;gap:1rem}
body.jmp-pre-school .lift:hover .trust{transform:translateY(-6px)}
body.jmp-pre-school .trust .ic{width:50px;height:50px;border-radius:15px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-pre-school .trust h3{font-size:1.12rem;font-weight:700;margin:0}
body.jmp-pre-school .sessions{padding:var(--pad-section) 0}
body.jmp-pre-school .sessions-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:start}
body.jmp-pre-school .panel{background:#fff;border:2px solid var(--line);border-radius:28px;padding:2.2rem 2rem}
body.jmp-pre-school .panel h3{font-size:1.4rem;margin-bottom:1rem;font-weight:700}
body.jmp-pre-school .check{list-style:none}
body.jmp-pre-school .check li{position:relative;padding-left:2rem;margin-bottom:.75rem;color:var(--navy);font-weight:500;transition:padding-left .2s ease}
body.jmp-pre-school .check li:hover{padding-left:2.35rem}
body.jmp-pre-school .check li::before{content:"";position:absolute;left:0;top:.22rem;width:20px;height:20px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l5 5L19 7'/%3E%3C/svg%3E") center/11px no-repeat, var(--grad)}
body.jmp-pre-school .side-panel{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-pre-school .side-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
body.jmp-pre-school .lift:hover .side-panel{transform:translateY(-6px)}
body.jmp-pre-school .benefits{background:var(--cream);padding:var(--pad-section) 0}
body.jmp-pre-school .trial{background:var(--sky);padding:var(--pad-section) 0;text-align:center;position:relative;overflow:hidden}
body.jmp-pre-school .trial h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;max-width:20ch;margin:0 auto 1rem}
body.jmp-pre-school .trial p{font-size:1.12rem;max-width:56ch;margin:0 auto}
body.jmp-pre-school .trial p+p{margin-top:1rem}
body.jmp-pre-school .trial .btn{margin-top:1.8rem}
body.jmp-pre-school .trial .sweep{position:absolute;inset:0;opacity:.1;z-index:0}
body.jmp-pre-school .trial .wrap{position:relative;z-index:1}
@media(max-width:980px){
body.jmp-pre-school .offer-grid{grid-template-columns:1fr}
body.jmp-pre-school .sessions-grid{grid-template-columns:1fr}
body.jmp-pre-school .trust-grid{grid-template-columns:1fr}
}
body.jmp-pre-school .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-pre-school .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-pre-school .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-pre-school .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-pre-school .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-pre-school .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-pre-school .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-pre-school .notice-inner{padding-right:2.6rem}
body.jmp-pre-school .notice p{font-size:.94rem}
}
body.jmp-pre-school .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-pre-school .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-pre-school .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-pre-school .hub-close{display:none}
body.jmp-pre-school .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-pre-school .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-pre-school .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-pre-school .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-pre-school .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-pre-school .hub-item:hover{background:var(--sky)}
body.jmp-pre-school .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-pre-school .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-pre-school .hub-btn{width:50px;height:50px}
}
/* privacy.html, scoped to .jmp-privacy */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-privacy{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-privacy h1, body.jmp-privacy h2, body.jmp-privacy h3, body.jmp-privacy h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-privacy a{color:var(--blue);text-decoration:none}
body.jmp-privacy img{max-width:100%;display:block}
body.jmp-privacy .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-privacy .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-privacy .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-privacy .btn-primary:hover{transform:scale(1.04)}
body.jmp-privacy .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-privacy .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-privacy .btn-white{background:#fff;color:var(--navy)}
body.jmp-privacy .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-privacy .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-privacy .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-privacy .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-privacy .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-privacy .logo svg{flex:none}
body.jmp-privacy nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-privacy nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-privacy nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-privacy nav.main-nav a.navlink:hover::after, body.jmp-privacy nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-privacy .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-privacy .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-privacy .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-privacy .hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-privacy .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-privacy .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-privacy .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-privacy .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-privacy .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-privacy .hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--navy)}
body.jmp-privacy .hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-privacy .hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-privacy .hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-privacy .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-privacy .hero-media{position:relative;z-index:2}
body.jmp-privacy .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);background: linear-gradient(160deg,rgba(36,59,107,.05),rgba(36,59,107,.5)), repeating-linear-gradient(135deg,#cfdcf0 0 24px,#dae4f3 24px 48px); box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-privacy .hero-blob .ph{font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.88);margin-bottom:1.4rem;padding:.5rem 1rem;border-radius:12px;font-size:.85rem}
body.jmp-privacy .hero-chips-row{display:contents}
body.jmp-privacy .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-privacy .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-privacy .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-privacy .chip-1 .ic{background:var(--indigo)}
body.jmp-privacy .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-privacy .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-privacy .wave-top{display:block;width:100%;height:auto;margin-top:-1px}
body.jmp-privacy .intro{background:var(--cream);padding:var(--pad-section) 0;text-align:center;position:relative}
body.jmp-privacy .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-privacy .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:16ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-privacy .intro p{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-privacy .highlights{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-privacy .h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
body.jmp-privacy .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-privacy .h-card:nth-child(1){background:var(--indigo)}
body.jmp-privacy .h-card:nth-child(2){background:var(--steel)}
body.jmp-privacy .h-card:nth-child(3){background:var(--sage)}
body.jmp-privacy .h-card:nth-child(4){background:#647C28}
body.jmp-privacy .h-card:nth-child(odd){transform:translateY(-14px)}
body.jmp-privacy .h-card:hover{transform:translateY(-22px) rotate(-1deg)}
body.jmp-privacy .h-card:nth-child(even):hover{transform:translateY(-8px) rotate(1deg)}
body.jmp-privacy .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-privacy .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-privacy .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-privacy .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-privacy .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-privacy .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-privacy .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-privacy .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-privacy .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-privacy .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-privacy .testi{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-privacy .testi-head{text-align:center;max-width:60ch;margin:0 auto 2.8rem}
body.jmp-privacy .testi-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);font-size:1rem;margin-bottom:.7rem}
body.jmp-privacy .testi-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-privacy .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
body.jmp-privacy .quote{background:#fff;border-radius:24px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-privacy .quote:hover{transform:translateY(-6px)}
body.jmp-privacy .quote .mark{font-family:var(--f-display);font-size:3rem;line-height:.5;color:var(--lime);height:1.2rem}
body.jmp-privacy .quote p{color:var(--navy);font-size:1.05rem;margin:0;flex:1;font-weight:500}
body.jmp-privacy .quote .who{display:flex;align-items:center;gap:.75rem}
body.jmp-privacy .quote .av{width:42px;height:42px;border-radius:50%;flex:none}
body.jmp-privacy .quote:nth-child(1) .av{background:var(--indigo)}
body.jmp-privacy .quote:nth-child(2) .av{background:var(--sage)}
body.jmp-privacy .quote:nth-child(3) .av{background:var(--steel)}
body.jmp-privacy .quote .who b{font-family:var(--f-display);color:var(--navy);font-size:1rem;display:block;font-weight:700}
body.jmp-privacy .quote .who span{font-size:.85rem;color:var(--ink-soft)}
body.jmp-privacy .placeholder-note{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-top:1.8rem;font-style:italic}
body.jmp-privacy .paths{padding:var(--pad-section) 0}
body.jmp-privacy .paths-head{text-align:center;margin-bottom:2.6rem}
body.jmp-privacy .paths-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-privacy .paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-privacy .path{position:relative;border-radius:30px;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.4rem;color:#fff;box-shadow:var(--shadow);transition:transform .25s ease}
body.jmp-privacy .path:hover{transform:translateY(-8px)}
body.jmp-privacy .path::before{content:"";position:absolute;inset:0;z-index:0}
body.jmp-privacy .path-parents::before{background:linear-gradient(150deg,rgba(59,75,160,.55),rgba(36,59,107,.85)),linear-gradient(120deg,#3B4BA0,#4A7A99)}
body.jmp-privacy .path-schools::before{background:linear-gradient(150deg,rgba(125,168,79,.5),rgba(45,90,60,.82)),linear-gradient(120deg,#4A7A99,#5E7E3B,#B5CC3E)}
body.jmp-privacy .path>*{position:relative;z-index:1}
body.jmp-privacy .path .tag{display:inline-block;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);padding:.35rem .9rem;border-radius:999px;margin-bottom:.9rem;width:fit-content}
body.jmp-privacy .path h3{color:#fff;font-size:1.8rem;margin-bottom:.5rem;font-weight:700}
body.jmp-privacy .path p{color:rgba(255,255,255,.94);font-size:1.05rem;margin-bottom:1.5rem;max-width:32ch}
body.jmp-privacy .path .ph-corner{position:absolute;top:1.1rem;left:1.1rem;z-index:1;font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.86);padding:.4rem .85rem;border-radius:10px;font-size:.78rem}
body.jmp-privacy .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-privacy .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-privacy .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-privacy .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:46ch;margin:0 auto 2rem}
body.jmp-privacy .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-privacy .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-privacy .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-privacy .footer-brand .logo{margin-bottom:1rem}
body.jmp-privacy .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-privacy .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-privacy .footer-col ul{list-style:none}
body.jmp-privacy .footer-col li{margin-bottom:.6rem}
body.jmp-privacy .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-privacy .footer-col a:hover{color:var(--blue)}
body.jmp-privacy .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-privacy .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-privacy .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-privacy .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-privacy .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-privacy .footer-bottom a{color:var(--ink-soft)}
body.jmp-privacy .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-privacy .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-privacy .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-privacy .hero .sub{max-width:none;margin-inline:auto}
body.jmp-privacy .hero-ctas{justify-content:center}
body.jmp-privacy .eyebrow{margin-inline:auto}
body.jmp-privacy .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-privacy .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-privacy .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-privacy .h-card:nth-child(odd), body.jmp-privacy .h-card:nth-child(even){transform:none}
body.jmp-privacy .testi-grid{grid-template-columns:1fr}
body.jmp-privacy .paths-grid{grid-template-columns:1fr}
body.jmp-privacy .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-privacy nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-privacy nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-privacy .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-privacy .header-cta .btn{display:none}
body.jmp-privacy .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-privacy .h-grid{grid-template-columns:1fr}
body.jmp-privacy .hero-media{max-width:300px}
body.jmp-privacy .hero-blob .jmp-panel-cap{display:none}
body.jmp-privacy .chip{position:static;animation:none;margin:0}
body.jmp-privacy .chip-1, body.jmp-privacy .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-privacy .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-privacy .footer-grid{grid-template-columns:1fr}
body.jmp-privacy .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-privacy .reveal{opacity:1;translate:none}
}
body.jmp-privacy :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-privacy .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-privacy .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-privacy .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-privacy .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:'Mulish',system-ui,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-privacy .page-hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4rem) 0 clamp(1.4rem,3vw,2.2rem);overflow:hidden;text-align:center}
body.jmp-privacy .page-hero .wrap{position:relative;z-index:2}
body.jmp-privacy .page-hero h1{font-size:clamp(2.5rem,6vw,4.2rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.7rem}
body.jmp-privacy .page-hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-privacy .page-hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:52ch;margin:0 auto}
body.jmp-privacy .page-hero .eyebrow{margin-inline:auto}
body.jmp-privacy .page-hero .hero-sweep svg{left:auto;right:-10%;opacity:.55}
body.jmp-privacy .page-hero .hero-sweep circle{display:none}
body.jmp-privacy .contact{background:var(--cream);padding:var(--pad-section) 0}
body.jmp-privacy .contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.8rem}
body.jmp-privacy .form-card{background:#fff;border:2px solid var(--line);border-radius:30px;padding:clamp(1.8rem,3.5vw,2.6rem)}
body.jmp-privacy .form-card h2{font-size:1.6rem;font-weight:700;margin-bottom:.4rem}
body.jmp-privacy .form-card .form-intro{margin-bottom:1.6rem}
body.jmp-privacy .field{margin-bottom:1.2rem}
body.jmp-privacy .field label{display:block;font-family:var(--f-display);font-weight:600;color:var(--navy);margin-bottom:.4rem;font-size:1rem}
body.jmp-privacy .field .opt{font-family:var(--f-body);font-weight:400;color:var(--ink-soft);font-size:.9rem}
body.jmp-privacy .field input, body.jmp-privacy .field textarea{width:100%;font-family:var(--f-body);font-size:1.02rem;color:var(--navy);background:#fff;border:2px solid var(--line);border-radius:16px;padding:.85rem 1.1rem;transition:border-color .2s ease,box-shadow .2s ease}
body.jmp-privacy .field textarea{min-height:150px;resize:vertical;line-height:1.6}
body.jmp-privacy .field input:hover, body.jmp-privacy .field textarea:hover{border-color:var(--steel)}
body.jmp-privacy .field input:focus, body.jmp-privacy .field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(46,117,182,.14)}
body.jmp-privacy .field input:user-invalid, body.jmp-privacy .field textarea:user-invalid{border-color:#C0392B}
body.jmp-privacy .field .err{display:none;color:#C0392B;font-size:.9rem;margin-top:.35rem;font-weight:600}
body.jmp-privacy .field input:user-invalid ~ .err, body.jmp-privacy .field textarea:user-invalid ~ .err{display:block}
body.jmp-privacy .form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
body.jmp-privacy .form-note{margin-top:1.2rem;background:var(--mint);border:2px solid #DCE9C6;border-radius:16px;padding:1rem 1.2rem;font-size:.98rem;color:var(--navy);display:none}
body.jmp-privacy .form-note.show{display:block}
body.jmp-privacy .form-note b{font-family:var(--f-display)}
body.jmp-privacy .details{position:relative;overflow:hidden;background:var(--grad);border-radius:30px;padding:clamp(1.8rem,3.5vw,2.4rem);color:#fff;display:flex;flex-direction:column}
body.jmp-privacy .details .sweep{position:absolute;inset:0;opacity:.18;z-index:0}
body.jmp-privacy .details > *{position:relative;z-index:1}
body.jmp-privacy .details h2{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.4rem}
body.jmp-privacy .details .line{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.3rem}
body.jmp-privacy .details .line .ic{width:42px;height:42px;flex:none;border-radius:13px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff}
body.jmp-privacy .details .line b{display:block;font-family:var(--f-display);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:700;margin-bottom:.1rem}
body.jmp-privacy .details .line a, body.jmp-privacy .details .line span.val{color:#fff;font-family:var(--f-display);font-weight:600;font-size:1.12rem;word-break:break-word}
body.jmp-privacy .details .line a:hover{text-decoration:underline}
body.jmp-privacy .details .booking{border-top:2px solid rgba(255,255,255,.28);margin-top:auto;padding-top:1.6rem}
body.jmp-privacy .details .booking p{color:rgba(255,255,255,.94);margin-bottom:1.1rem;font-size:1rem}
@media(max-width:980px){
body.jmp-privacy .contact-grid{grid-template-columns:1fr}
}
body.jmp-privacy .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-privacy .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-privacy .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-privacy .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-privacy .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-privacy .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-privacy .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-privacy .notice-inner{padding-right:2.6rem}
body.jmp-privacy .notice p{font-size:.94rem}
}
body.jmp-privacy .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-privacy .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-privacy .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-privacy .hub-close{display:none}
body.jmp-privacy .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-privacy .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-privacy .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-privacy .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-privacy .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-privacy .hub-item:hover{background:var(--sky)}
body.jmp-privacy .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-privacy .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-privacy .hub-btn{width:50px;height:50px}
}
body.jmp-privacy .page-hero{padding-bottom:clamp(2rem,4vw,3.5rem)}
body.jmp-privacy .legal{padding:clamp(1.5rem,3vw,2.5rem) 0 var(--pad-section);background:#fff}
body.jmp-privacy .legal-inner{max-width:75ch;margin:0 auto}
body.jmp-privacy .legal h2{font-size:clamp(1.4rem,2.6vw,1.85rem);margin:2.6rem 0 .8rem}
body.jmp-privacy .legal h2:first-child{margin-top:0}
body.jmp-privacy .legal h3{font-size:1.15rem;margin:1.6rem 0 .5rem}
body.jmp-privacy .legal p{margin-bottom:1rem}
body.jmp-privacy .legal ul{margin:0 0 1.2rem 1.2rem}
body.jmp-privacy .legal li{margin-bottom:.5rem}
body.jmp-privacy .legal a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
body.jmp-privacy .legal .updated{font-size:.95rem;color:var(--ink-soft);border-left:4px solid var(--line); padding-left:1rem;margin-bottom:2.4rem}
body.jmp-privacy .legal .todo{background:#FFF6E5;border:2px solid #F0D9A8;border-radius:16px; padding:1.2rem 1.4rem;margin:1.6rem 0}
body.jmp-privacy .legal .todo b{font-family:var(--f-display);color:var(--navy);display:block;margin-bottom:.4rem}
/* schools.html, scoped to .jmp-schools */
:root{--navy:#243B6B; --navy-deep:#1F3864; --indigo:#3B4BA0; --blue:#2E75B6; --steel:#4A7A99; --sage:#5E7E3B; --lime:#B5CC3E; --lime-bright:#C6D84A; --grad:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#B5CC3E 100%); --grad-text:linear-gradient(100deg,#3B4BA0 0%,#4A7A99 36%,#5E7E3B 72%,#6D7B21 100%); --grad-warm:linear-gradient(120deg,#4A7A99 0%,#5E7E3B 55%,#C6D84A 100%); --cream:#FFFDF6; --sky:#EAF3FB; --mint:#EEF6E2; --bg:#FFFFFF; --ink:#243B6B; --ink-soft:#51618A; --line:#E4EAF4; --f-display:'Baloo 2',system-ui,sans-serif; --f-body:'Nunito',system-ui,sans-serif; --pad-section:clamp(3.5rem,8vw,6.5rem); --r:20px; --r-lg:34px; --r-blob:46% 54% 58% 42% / 52% 44% 56% 48%; --shadow-sm:0 6px 18px rgba(36,59,107,.07); --shadow:0 18px 44px rgba(36,59,107,.12); --shadow-pop:0 22px 50px rgba(59,75,160,.22); --maxw:1200px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.jmp-schools{font-family:var(--f-body);color:var(--ink-soft);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.jmp-schools h1, body.jmp-schools h2, body.jmp-schools h3, body.jmp-schools h4{font-family:var(--f-display);color:var(--navy);line-height:1.08;font-weight:700}
body.jmp-schools a{color:var(--blue);text-decoration:none}
body.jmp-schools img{max-width:100%;display:block}
body.jmp-schools .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
body.jmp-schools .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:.95rem 1.9rem;border-radius:999px;cursor:pointer;border:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;text-align:center;line-height:1;position:relative}
body.jmp-schools .btn-primary{background:var(--grad-text);color:#fff;box-shadow:var(--shadow-pop)}
body.jmp-schools .btn-primary:hover{transform:scale(1.04)}
body.jmp-schools .btn-ghost{background:#fff;color:var(--navy);border:2.5px solid var(--navy)}
body.jmp-schools .btn-ghost:hover{transform:scale(1.04);background:var(--navy);color:#fff}
body.jmp-schools .btn-white{background:#fff;color:var(--navy)}
body.jmp-schools .btn-white:hover{transform:scale(1.04);box-shadow:var(--shadow)}
body.jmp-schools .btn-lg{font-size:1.12rem;padding:1.1rem 2.2rem}
body.jmp-schools .site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:2px solid var(--line)}
body.jmp-schools .header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
body.jmp-schools .logo{display:flex;align-items:center;gap:.65rem;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--navy)}
body.jmp-schools .logo svg{flex:none}
body.jmp-schools nav.main-nav{display:flex;align-items:center;gap:2.1rem}
body.jmp-schools nav.main-nav a.navlink{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--navy);position:relative;padding:.2rem 0}
body.jmp-schools nav.main-nav a.navlink::after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:3px;background:var(--grad);border-radius:3px;transition:left .25s ease,right .25s ease}
body.jmp-schools nav.main-nav a.navlink:hover::after, body.jmp-schools nav.main-nav a.navlink.active::after{left:0;right:0}
body.jmp-schools .header-cta{display:flex;align-items:center;gap:1rem}
body.jmp-schools .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
body.jmp-schools .menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:3px;margin:5px 0;transition:.25s}
body.jmp-schools .hero{position:relative;background: radial-gradient(120% 130% at 85% 10%, var(--sky) 0%, var(--cream) 55%, #fff 100%); padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
body.jmp-schools .hero-sweep{position:absolute;inset:0;pointer-events:none;z-index:0}
body.jmp-schools .hero-sweep svg{position:absolute;left:48%;top:50%;transform:translateY(-50%);width:min(900px,75%);opacity:.85}
body.jmp-schools .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
body.jmp-schools .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--navy);background:#fff;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
body.jmp-schools .eyebrow .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}
body.jmp-schools .hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;color:var(--navy)}
body.jmp-schools .hero h1 .pop{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.jmp-schools .hero .strap{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,2.1vw,1.6rem);color:var(--navy);margin:.3rem 0 .8rem}
body.jmp-schools .hero .sub{font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:38ch;margin-bottom:2rem}
body.jmp-schools .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
body.jmp-schools .hero-media{position:relative;z-index:2}
body.jmp-schools .hero-blob{aspect-ratio:1/1;border-radius:var(--r-blob);background: linear-gradient(160deg,rgba(36,59,107,.05),rgba(36,59,107,.5)), repeating-linear-gradient(135deg,#cfdcf0 0 24px,#dae4f3 24px 48px); box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;animation:morph 14s ease-in-out infinite}
@keyframes morph{0%,100%{border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}50%{border-radius:56% 44% 42% 58% / 44% 56% 44% 56%}}
body.jmp-schools .hero-blob .ph{font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.88);margin-bottom:1.4rem;padding:.5rem 1rem;border-radius:12px;font-size:.85rem}
body.jmp-schools .hero-chips-row{display:contents}
body.jmp-schools .chip{position:absolute;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:.92rem}
body.jmp-schools .chip .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem}
body.jmp-schools .chip-1{top:8%;left:-9%;animation:float1 5s ease-in-out infinite}
body.jmp-schools .chip-1 .ic{background:var(--indigo)}
body.jmp-schools .chip-2{bottom:14%;right:-7%;animation:float2 6s ease-in-out infinite}
body.jmp-schools .chip-2 .ic{background:var(--sage)}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
body.jmp-schools .wave-top{display:block;width:100%;height:auto;margin-top:-1px}
body.jmp-schools .intro{background:var(--cream);padding:var(--pad-section) 0;text-align:center;position:relative}
body.jmp-schools .intro .kicker{font-family:var(--f-display);font-weight:600;color:var(--sage);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-schools .intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;max-width:16ch;margin:0 auto .9rem;color:var(--navy)}
body.jmp-schools .intro p{font-size:1.15rem;max-width:58ch;margin:0 auto}
body.jmp-schools .highlights{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-schools .h-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
body.jmp-schools .h-card{border-radius:26px;padding:2rem 1.6rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-schools .h-card:nth-child(1){background:var(--indigo)}
body.jmp-schools .h-card:nth-child(2){background:var(--steel)}
body.jmp-schools .h-card:nth-child(3){background:var(--sage)}
body.jmp-schools .h-card:nth-child(4){background:#647C28}
body.jmp-schools .h-card:nth-child(odd){transform:translateY(-14px)}
body.jmp-schools .h-card:hover{transform:translateY(-22px) rotate(-1deg)}
body.jmp-schools .h-card:nth-child(even):hover{transform:translateY(-8px) rotate(1deg)}
body.jmp-schools .h-card .ic{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:#fff}
body.jmp-schools .h-card h3{color:#fff;font-size:1.32rem;margin-bottom:.45rem;font-weight:700}
body.jmp-schools .h-card p{font-size:.98rem;color:rgba(255,255,255,.92);line-height:1.55}
body.jmp-schools .h-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-schools .stats{background:var(--grad-text);position:relative;overflow:hidden;color:#fff}
body.jmp-schools .stats-wrap{padding:clamp(3rem,6vw,4.5rem) 0}
body.jmp-schools .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;position:relative;z-index:2}
body.jmp-schools .stat b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1}
body.jmp-schools .stat span{font-size:1.02rem;color:rgba(255,255,255,.92);font-weight:600}
body.jmp-schools .stats .sweep{position:absolute;inset:0;opacity:.16;z-index:1}
body.jmp-schools .testi{background:var(--sky);padding:var(--pad-section) 0}
body.jmp-schools .testi-head{text-align:center;max-width:60ch;margin:0 auto 2.8rem}
body.jmp-schools .testi-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);font-size:1rem;margin-bottom:.7rem}
body.jmp-schools .testi-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-schools .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
body.jmp-schools .quote{background:#fff;border-radius:24px;padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm);transition:transform .25s ease}
body.jmp-schools .quote:hover{transform:translateY(-6px)}
body.jmp-schools .quote .mark{font-family:var(--f-display);font-size:3rem;line-height:.5;color:var(--lime);height:1.2rem}
body.jmp-schools .quote p{color:var(--navy);font-size:1.05rem;margin:0;flex:1;font-weight:500}
body.jmp-schools .quote .who{display:flex;align-items:center;gap:.75rem}
body.jmp-schools .quote .av{width:42px;height:42px;border-radius:50%;flex:none}
body.jmp-schools .quote:nth-child(1) .av{background:var(--indigo)}
body.jmp-schools .quote:nth-child(2) .av{background:var(--sage)}
body.jmp-schools .quote:nth-child(3) .av{background:var(--steel)}
body.jmp-schools .quote .who b{font-family:var(--f-display);color:var(--navy);font-size:1rem;display:block;font-weight:700}
body.jmp-schools .quote .who span{font-size:.85rem;color:var(--ink-soft)}
body.jmp-schools .placeholder-note{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-top:1.8rem;font-style:italic}
body.jmp-schools .paths{padding:var(--pad-section) 0}
body.jmp-schools .paths-head{text-align:center;margin-bottom:2.6rem}
body.jmp-schools .paths-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}
body.jmp-schools .paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-schools .path{position:relative;border-radius:30px;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.4rem;color:#fff;box-shadow:var(--shadow);transition:transform .25s ease}
body.jmp-schools .path:hover{transform:translateY(-8px)}
body.jmp-schools .path::before{content:"";position:absolute;inset:0;z-index:0}
body.jmp-schools .path-parents::before{background:linear-gradient(150deg,rgba(59,75,160,.55),rgba(36,59,107,.85)),linear-gradient(120deg,#3B4BA0,#4A7A99)}
body.jmp-schools .path-schools::before{background:linear-gradient(150deg,rgba(125,168,79,.5),rgba(45,90,60,.82)),linear-gradient(120deg,#4A7A99,#5E7E3B,#B5CC3E)}
body.jmp-schools .path>*{position:relative;z-index:1}
body.jmp-schools .path .tag{display:inline-block;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);padding:.35rem .9rem;border-radius:999px;margin-bottom:.9rem;width:fit-content}
body.jmp-schools .path h3{color:#fff;font-size:1.8rem;margin-bottom:.5rem;font-weight:700}
body.jmp-schools .path p{color:rgba(255,255,255,.94);font-size:1.05rem;margin-bottom:1.5rem;max-width:32ch}
body.jmp-schools .path .ph-corner{position:absolute;top:1.1rem;left:1.1rem;z-index:1;font-family:var(--f-display);font-weight:600;color:var(--navy);background:rgba(255,255,255,.86);padding:.4rem .85rem;border-radius:10px;font-size:.78rem}
body.jmp-schools .bigcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;text-align:center}
body.jmp-schools .bigcta-wrap{padding:clamp(3.5rem,7vw,6rem) 0;position:relative;z-index:2}
body.jmp-schools .bigcta h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;margin-bottom:.7rem}
body.jmp-schools .bigcta p{color:rgba(219,228,245,.95);font-size:1.18rem;max-width:46ch;margin:0 auto 2rem}
body.jmp-schools .bigcta .sweep{position:absolute;inset:0;opacity:.22;z-index:1}
body.jmp-schools .site-footer{background:var(--cream);border-top:2px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 2rem}
body.jmp-schools .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
body.jmp-schools .footer-brand .logo{margin-bottom:1rem}
body.jmp-schools .footer-brand p{font-size:.98rem;max-width:32ch}
body.jmp-schools .footer-col h3{font-family:var(--f-display);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;font-weight:700}
body.jmp-schools .footer-col ul{list-style:none}
body.jmp-schools .footer-col li{margin-bottom:.6rem}
body.jmp-schools .footer-col a{color:var(--ink-soft);font-size:.98rem;font-weight:500}
body.jmp-schools .footer-col a:hover{color:var(--blue)}
body.jmp-schools .footer-contact a{display:block;color:var(--navy);font-weight:600;margin-bottom:.5rem}
body.jmp-schools .footer-social{display:flex;gap:.7rem;margin-top:1rem}
body.jmp-schools .footer-social a{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
body.jmp-schools .footer-social a:hover{background:var(--grad-text) border-box;color:#fff;border-color:transparent}
body.jmp-schools .footer-bottom{border-top:2px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.88rem;color:var(--ink-soft)}
body.jmp-schools .footer-bottom a{color:var(--ink-soft)}
body.jmp-schools .reveal{opacity:0;translate:0 28px;transition:opacity .6s ease,translate .6s cubic-bezier(.34,1.2,.64,1)}
body.jmp-schools .reveal.in{opacity:1;translate:none}
@media(max-width:980px){
body.jmp-schools .hero-inner{grid-template-columns:1fr;text-align:center}
body.jmp-schools .hero .sub{max-width:none;margin-inline:auto}
body.jmp-schools .hero-ctas{justify-content:center}
body.jmp-schools .eyebrow{margin-inline:auto}
body.jmp-schools .hero-media{max-width:420px;margin:2.5rem auto 0}
body.jmp-schools .hero-sweep svg{left:50%;transform:translate(-50%,-50%);opacity:.5}
body.jmp-schools .h-grid{grid-template-columns:repeat(2,1fr)}
body.jmp-schools .h-card:nth-child(odd), body.jmp-schools .h-card:nth-child(even){transform:none}
body.jmp-schools .testi-grid{grid-template-columns:1fr}
body.jmp-schools .paths-grid{grid-template-columns:1fr}
body.jmp-schools .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
body.jmp-schools nav.main-nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:#fff;padding:1.6rem;gap:1.3rem;border-bottom:2px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;align-items:flex-start}
body.jmp-schools nav.main-nav.open{transform:translateY(0);visibility:visible}
body.jmp-schools .menu-toggle{display:block}
}
@media(max-width:760px){
body.jmp-schools .header-cta .btn{display:none}
body.jmp-schools .stats-grid{grid-template-columns:1fr;gap:1.6rem}
body.jmp-schools .h-grid{grid-template-columns:1fr}
body.jmp-schools .hero-media{max-width:300px}
body.jmp-schools .hero-blob .jmp-panel-cap{display:none}
body.jmp-schools .chip{position:static;animation:none;margin:0}
body.jmp-schools .chip-1, body.jmp-schools .chip-2{top:auto;left:auto;right:auto;bottom:auto}
body.jmp-schools .hero-chips-row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.1rem auto 0}
body.jmp-schools .footer-grid{grid-template-columns:1fr}
body.jmp-schools .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto}
body.jmp-schools .reveal{opacity:1;translate:none}
}
body.jmp-schools :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
body.jmp-schools .jmp-brand-panel{position:relative;background:linear-gradient(120deg,#3B4BA0 0%,#4A7A99 38%,#5E7E3B 72%,#B5CC3E 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden}
body.jmp-schools .jmp-brand-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),transparent 55%);pointer-events:none}
body.jmp-schools .jmp-panel-icon{width:34%;max-width:120px;height:auto;opacity:.9;filter:drop-shadow(0 4px 10px rgba(34,53,106,.35));position:relative;z-index:1}
body.jmp-schools .jmp-panel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-family:'Mulish',system-ui,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,rgba(34,53,106,0),rgba(34,53,106,.5));padding:1.6rem .9rem .8rem}
body.jmp-schools .hero-blob.has-photo{background:none;align-items:stretch;justify-content:stretch}
body.jmp-schools .hero-blob.has-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
body.jmp-schools .sec-head{text-align:center;max-width:62ch;margin:0 auto 2.6rem}
body.jmp-schools .sec-head .kicker{font-family:var(--f-display);font-weight:600;color:var(--steel);letter-spacing:.04em;font-size:1rem;margin-bottom:.8rem}
body.jmp-schools .sec-head h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800;margin-bottom:.8rem}
body.jmp-schools .sec-head p{font-size:1.12rem}
body.jmp-schools .offer{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-schools .offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
body.jmp-schools .lift{display:grid}
body.jmp-schools .offer-card{border-radius:28px;padding:2.2rem 1.9rem;color:#fff;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.jmp-schools .lift:hover .offer-card{transform:translateY(-10px)}
body.jmp-schools .lift:nth-child(1) .offer-card{background:var(--indigo)}
body.jmp-schools .lift:nth-child(2) .offer-card{background:var(--steel)}
body.jmp-schools .lift:nth-child(3) .offer-card{background:var(--sage)}
body.jmp-schools .offer-card h3{color:#fff;font-size:1.4rem;margin-bottom:.6rem;font-weight:700}
body.jmp-schools .offer-card > p{color:rgba(255,255,255,.92);font-size:1rem;margin-bottom:1.1rem;position:relative;z-index:1}
body.jmp-schools .offer-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.16;pointer-events:none}
body.jmp-schools .tick{list-style:none;position:relative;z-index:1}
body.jmp-schools .tick li{position:relative;padding-left:1.6rem;margin-bottom:.55rem;color:#fff;font-size:1rem;font-weight:500}
body.jmp-schools .tick li::before{content:"";position:absolute;left:0;top:.62rem;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.85)}
body.jmp-schools .offer-note{text-align:center;margin-top:2rem;font-size:1.08rem;color:var(--navy);font-weight:600;font-family:var(--f-display)}
body.jmp-schools .clubs{background:var(--cream);padding:0 0 var(--pad-section)}
body.jmp-schools .club-strip{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
body.jmp-schools .club-strip figure{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:4/3;transition:transform .25s ease}
body.jmp-schools .club-strip .lift:hover figure{transform:translateY(-6px)}
body.jmp-schools .club-strip img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
body.jmp-schools .reasons{padding:var(--pad-section) 0}
body.jmp-schools .reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-schools .reasons-grid .panel.wide{grid-column:1/-1}
body.jmp-schools .reasons-grid .panel.wide ul{columns:2;column-gap:2rem}
body.jmp-schools .reasons-grid .panel.wide li{break-inside:avoid}
@media(max-width:860px){
body.jmp-schools .reasons-grid .panel.wide ul{columns:1}
}
body.jmp-schools .panel{background:#fff;border:2px solid var(--line);border-radius:28px;padding:2.2rem 2rem}
body.jmp-schools .panel h3{font-size:1.4rem;margin-bottom:1rem;font-weight:700}
body.jmp-schools .panel > p{margin-bottom:1rem}
body.jmp-schools .check{list-style:none}
body.jmp-schools .check li{position:relative;padding-left:2rem;margin-bottom:.75rem;color:var(--navy);font-weight:500;transition:padding-left .2s ease}
body.jmp-schools .check li:hover{padding-left:2.35rem}
body.jmp-schools .check li::before{content:"";position:absolute;left:0;top:.22rem;width:20px;height:20px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l5 5L19 7'/%3E%3C/svg%3E") center/11px no-repeat, var(--grad)}
body.jmp-schools .trusted{background:var(--sky);padding:var(--pad-section) 0;text-align:center;position:relative;overflow:hidden}
body.jmp-schools .trusted h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;max-width:20ch;margin:0 auto 1rem}
body.jmp-schools .trusted p{font-size:1.12rem;max-width:56ch;margin:0 auto}
body.jmp-schools .trusted .sweep{position:absolute;inset:0;opacity:.1;z-index:0}
body.jmp-schools .trusted .wrap{position:relative;z-index:1}
body.jmp-schools .hassle{background:var(--cream);padding:var(--pad-section) 0}
body.jmp-schools .hassle-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:start}
body.jmp-schools .sen{background:var(--mint);padding:var(--pad-section) 0;position:relative;overflow:hidden;border-top:3px solid #DCE9C6;border-bottom:3px solid #DCE9C6}
body.jmp-schools .sen .sweep{position:absolute;inset:0;opacity:.13;z-index:0}
body.jmp-schools .sen .wrap{position:relative;z-index:1}
body.jmp-schools .sen-head{text-align:center;max-width:66ch;margin:0 auto 2.8rem}
body.jmp-schools .sen-badge{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:700;font-size:.92rem;color:#fff;background:var(--sage);padding:.5rem 1.2rem;border-radius:999px;margin-bottom:1.2rem}
body.jmp-schools .sen-head h2{font-size:clamp(2rem,4.2vw,3rem);font-weight:800;margin-bottom:1rem}
body.jmp-schools .sen-head p{font-size:1.12rem;margin-bottom:.9rem}
body.jmp-schools .sen-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
body.jmp-schools .sen .panel{border-color:#DCE9C6}
body.jmp-schools .sen-why{margin-top:1.6rem;background:var(--grad-warm);border-radius:28px;padding:2.2rem 2rem;color:#fff;position:relative;overflow:hidden}
body.jmp-schools .sen-why h3{color:#fff;font-size:1.4rem;margin-bottom:1rem;font-weight:700;position:relative;z-index:1}
body.jmp-schools .sen-why .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.18;pointer-events:none}
body.jmp-schools .sen-enquire{margin-top:1.6rem;text-align:center}
body.jmp-schools .sen-enquire p{font-size:1.08rem;max-width:60ch;margin:0 auto 1.4rem}
body.jmp-schools .work{padding:var(--pad-section) 0}
body.jmp-schools .work-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
body.jmp-schools .work h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;margin-bottom:.9rem}
body.jmp-schools .work p{font-size:1.1rem;margin-bottom:1rem}
body.jmp-schools .contact-card{background:var(--navy);border-radius:30px;padding:2.4rem 2.2rem;color:#fff;position:relative;overflow:hidden}
body.jmp-schools .contact-card h3{color:#fff;font-size:1.4rem;margin-bottom:1.2rem;font-weight:700;position:relative;z-index:1}
body.jmp-schools .contact-card a.line{display:flex;align-items:center;gap:.7rem;color:#fff;font-family:var(--f-display);font-weight:600;font-size:1.08rem;margin-bottom:.9rem;position:relative;z-index:1}
body.jmp-schools .contact-card a.line:hover{color:var(--lime-bright)}
body.jmp-schools .contact-card .arc-bg{position:absolute;right:-30px;bottom:-30px;opacity:.2;pointer-events:none}
body.jmp-schools .contact-card p{color:rgba(219,228,245,.95);position:relative;z-index:1;font-size:1rem;margin-top:.4rem}
@media(max-width:980px){
body.jmp-schools .offer-grid{grid-template-columns:1fr}
body.jmp-schools .reasons-grid, body.jmp-schools .hassle-grid, body.jmp-schools .sen-grid, body.jmp-schools .work-inner, body.jmp-schools .club-strip{grid-template-columns:1fr}
}
body.jmp-schools .notice{background:var(--grad-text);color:#fff;position:relative;z-index:70}
body.jmp-schools .notice-inner{display:flex;align-items:center;justify-content:center;gap:.9rem; padding:.7rem clamp(1.2rem,4vw,2.5rem);text-align:center;flex-wrap:wrap}
body.jmp-schools .notice p{font-family:var(--f-display);font-weight:600;font-size:1rem;margin:0;color:#fff}
body.jmp-schools .notice a.notice-cta{color:#fff;text-decoration:underline;text-underline-offset:3px; font-family:var(--f-display);font-weight:700}
body.jmp-schools .notice-close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%); background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px; border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center; transition:background .2s ease}
body.jmp-schools .notice-close:hover{background:rgba(255,255,255,.34)}
body.jmp-schools .notice[hidden]{display:none}
@media(max-width:640px){
body.jmp-schools .notice-inner{padding-right:2.6rem}
body.jmp-schools .notice p{font-size:.94rem}
}
body.jmp-schools .hub{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.jmp-schools .hub-btn{width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}
body.jmp-schools .hub-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-pop)}
body.jmp-schools .hub-close{display:none}
body.jmp-schools .hub-btn[aria-expanded="true"] .hub-open{display:none}
body.jmp-schools .hub-btn[aria-expanded="true"] .hub-close{display:flex}
body.jmp-schools .hub-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.85rem;width:236px}
body.jmp-schools .hub-title{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:.95rem;margin:.15rem .5rem .5rem}
body.jmp-schools .hub-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;color:var(--navy);font-weight:600;font-size:.98rem;transition:background .18s ease}
body.jmp-schools .hub-item:hover{background:var(--sky)}
body.jmp-schools .hub-ic{width:32px;height:32px;border-radius:10px;background:var(--grad-text);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
body.jmp-schools .hub-wa{background:#25D366}
@media(max-width:640px){
body.jmp-schools .hub-btn{width:50px;height:50px}
}

/* Current page marker in the shared header. */
body.jmp-index nav.main-nav a.navlink[href="/"]::after{left:0;right:0}
body.jmp-about nav.main-nav a.navlink[href="/about/"]::after{left:0;right:0}
body.jmp-join nav.main-nav a.navlink[href="/join/"]::after{left:0;right:0}
body.jmp-schools nav.main-nav a.navlink[href="/schools/"]::after{left:0;right:0}
body.jmp-pre-school nav.main-nav a.navlink[href="/pre-school/"]::after{left:0;right:0}
body.jmp-contact nav.main-nav a.navlink[href="/contact/"]::after{left:0;right:0}
body.jmp-privacy nav.main-nav a.navlink[href="/privacy/"]::after{left:0;right:0}
body.jmp-cookies nav.main-nav a.navlink[href="/cookies/"]::after{left:0;right:0}

/* ============================================================
   Undo what WordPress wraps around the theme's markup.
   ============================================================

   Both of these reached the live site, because the check compared the theme
   against the prototype without the wrappers WordPress adds around it.

   1. Template parts render inside a wrapper element. That wrapper became the
      containing block for the sticky header, so the header could only stick
      within the wrapper's own height, which is to say not at all. It scrolled
      away with the page. display:contents takes the wrapper out of layout
      while leaving the element in the document.

   2. Block layout puts 24px between every top level child of the post content.
      That opened a white band between the hero, the wave divider and the
      section under it, and made every page 3 to 12 gaps taller than it should
      be. These sections space themselves.

   3. The image block wraps every photo in a figure. Rules written for the
      prototype expect the img where the figure now sits, so the hero photo
      stopped filling its blob. display:contents takes the figure out of layout
      the same way, and the img lands where the stylesheet expects it.

   4. Group and heading blocks add classes of their own. They are kept in the
      markup on purpose, because the editor adds them on save, and markup that
      does not match what the editor would write gets silently rewritten the
      first time the client edits a page. So they have to be styled to nothing
      instead of left out.
*/
.wp-block-template-part{display:contents}
.wp-site-blocks > *, .entry-content > *{margin-block-start:0;margin-block-end:0}
.wp-site-blocks, .entry-content{max-width:none;margin:0;padding:0}
.entry-content .is-layout-flow > *{margin-block-start:0;margin-block-end:0}
figure.wp-block-image{display:contents}
