.jmf-app{--blue:#0865ba;--dark:#063d78;--ink:#16324d;--soft:#f1f7ff;font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif;background:#fff;color:var(--ink);max-width:1200px;margin:auto;box-shadow:0 0 70px #0b4d8010}.jmf-app *{box-sizing:border-box}.jmf-app a{text-decoration:none}.jmf-top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:white}.jmf-brand{display:flex;gap:11px;align-items:center;color:var(--dark)}.jmf-brand span:last-child{display:flex;flex-direction:column}.jmf-brand b{font-size:24px;letter-spacing:-1px}.jmf-brand small{font-size:10px;font-weight:800;letter-spacing:2px}.jmf-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#05458b,#2098f5);display:grid;place-items:center;color:white;font-size:25px;font-weight:900}.jmf-status-link{color:#0865ba!important;background:#eaf4ff;padding:11px 17px;border-radius:12px;font-size:13px;font-weight:800}.jmf-hero{background:linear-gradient(125deg,#052d65 0%,#0865ba 60%,#2098ee 100%);color:white;padding:76px 6%;display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:center;overflow:hidden}.jmf-hero h1{font-size:clamp(34px,4.7vw,60px);line-height:1.1;letter-spacing:-2px;margin:22px 0}.jmf-hero h1 em{color:#ffce62;font-style:normal}.jmf-hero p{font-size:17px;line-height:1.7;color:#e6f4ff;max-width:620px}.jmf-pill{font-size:11px;font-weight:900;letter-spacing:1.3px;border:1px solid #ffffff66;border-radius:30px;padding:10px 15px;background:#ffffff16}.jmf-actions,.jmf-points{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.jmf-btn{background:#0b75d5;color:#fff!important;border:0;border-radius:14px;padding:15px 24px;display:inline-block;font-size:14px;font-weight:800;cursor:pointer}.jmf-gold{background:#ffce62;color:#15314d!important}.jmf-outline{border:1px solid #ffffff88;background:transparent}.jmf-points{font-size:13px;font-weight:700;color:#e7f6ff}.jmf-art{height:270px;display:grid;place-items:center;position:relative}.jmf-art div{font-size:135px;filter:drop-shadow(0 20px 20px #03295377)}.jmf-art span{position:absolute;right:0;bottom:8px;font-size:25px;font-weight:900;text-align:center;color:#fff;background:#ffffff22;border:1px solid #ffffff55;border-radius:20px;padding:15px}.jmf-about{text-align:center;padding:65px 8%;background:#f0f8ff}.jmf-kicker{color:#0874d4;font-weight:900;letter-spacing:2px;font-size:11px}.jmf-about h2,.jmf-require h2,.jmf-form-shell h2{font-size:32px;line-height:1.2;margin:12px 0;color:#10375e}.jmf-about p{line-height:1.8;max-width:820px;margin:auto;color:#54708b}.jmf-require{padding:70px 5%;text-align:center}.jmf-req-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px;text-align:left}.jmf-req-grid article{padding:22px;border:1px solid #e1ecf7;border-radius:20px;background:#f9fcff}.jmf-req-grid b{color:#0c78d8}.jmf-req-grid h3{font-size:17px;margin:15px 0 8px}.jmf-req-grid p{color:#607c95;font-size:13px;line-height:1.6}.jmf-form-shell{padding:38px;max-width:880px;margin:35px auto 70px;background:#fff;border:1px solid #e2edf8;border-radius:26px;box-shadow:0 16px 55px #164d7914}.jmf-form-shell>p{color:#66809a;line-height:1.7}.jmf-form-shell form h3{font-size:17px;color:#104f8b;margin:30px 0 15px;border-bottom:1px solid #e9f0f8;padding-bottom:12px}.jmf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.jmf-grid label{display:flex;flex-direction:column;gap:7px;font-weight:750;font-size:13px}.jmf-grid input,.jmf-grid select,.jmf-grid textarea{font:inherit;font-size:14px;width:100%;border:1px solid #d6e4f2;border-radius:12px;padding:13px;background:#fbfdff;color:#16324d;min-height:48px}.jmf-full{grid-column:1/-1}.jmf-geo{border:0;border-radius:12px;padding:12px 15px;margin-top:14px;background:#e9f4ff;color:#0c64b0;font-weight:800;cursor:pointer}.jmf-small{font-size:12px;color:#647d94}.jmf-consent{display:flex;align-items:flex-start;gap:10px;background:#f1f7ff;padding:16px;border-radius:14px;font-size:13px;line-height:1.65;margin:25px 0}.jmf-consent input{margin-top:4px;flex-shrink:0}.jmf-submit{width:100%;font-size:15px}.jmf-trap{position:absolute;left:-99999px;height:1px;overflow:hidden}.jmf-result{background:#e8f8ed;border:1px solid #bde8c7;padding:20px;border-radius:14px;margin:20px 0;color:#1b6739}.jmf-error{background:#fff1f0;border:1px solid #f3c4c0;padding:16px;border-radius:12px;color:#9d2921}.jmf-footer{text-align:center;background:#052e65;color:#fff;padding:38px}.jmf-footer b,.jmf-footer span,.jmf-footer small{display:block;margin:4px}.jmf-footer small{opacity:.7;font-size:11px}@media(max-width:720px){.jmf-top{height:68px;padding:0 16px}.jmf-hero{display:block;padding:45px 20px}.jmf-hero h1{letter-spacing:-1px}.jmf-hero p{font-size:15px}.jmf-art{height:160px}.jmf-art div{font-size:85px}.jmf-art span{font-size:15px;padding:10px}.jmf-about,.jmf-require{padding:45px 18px}.jmf-req-grid{grid-template-columns:1fr 1fr;gap:10px}.jmf-req-grid article{padding:16px}.jmf-form-shell{margin:16px 10px 40px;padding:20px;border-radius:20px}.jmf-grid{grid-template-columns:1fr}.jmf-full{grid-column:auto}.jmf-actions .jmf-btn{flex:1;text-align:center}.jmf-about h2,.jmf-require h2,.jmf-form-shell h2{font-size:26px}}@media(max-width:380px){.jmf-req-grid{grid-template-columns:1fr}.jmf-status-link{font-size:11px;padding:9px}}

/* v1.1.3: consistent Plus Jakarta Sans throughout registration portal */
html body.jmf-standalone-page .jmf-app,
html body.jmf-standalone-page .jmf-app *,
html body.jmf-standalone-page .jmf-app input,
html body.jmf-standalone-page .jmf-app select,
html body.jmf-standalone-page .jmf-app textarea,
html body.jmf-standalone-page .jmf-app button {
  font-family:'Plus Jakarta Sans',sans-serif!important;
}
