/* Public AKEMI course directory. Scoped to this page; no global layout overrides. */
.jpf-promotions-main{max-width:none!important;padding:0!important;width:100%!important}
.jpf-promotions{--ap-ink:#193f33;--ap-muted:#607065;--ap-line:#dce2d3;--ap-paper:#fffef9;--ap-sage:#edf2e4;--ap-lime:#dbe9b9;max-width:1376px;margin:auto;padding:30px 32px 80px;color:var(--ap-ink);line-height:1.7}
.jpf-promotions *{box-sizing:border-box;min-width:0}
.jpf-promotions h1,.jpf-promotions h2,.jpf-promotions h3,.jpf-promotions p,.jpf-promotions figure,.jpf-promotions dl{margin:0}
.jpf-promotions h1,.jpf-promotions h2,.jpf-promotions h3{color:var(--ap-ink);text-wrap:balance}
.jpf-promotions a{text-decoration:none;transition:background-color .18s,color .18s,border-color .18s}
.jpf-promotions a:focus-visible{outline:3px solid #9b791c;outline-offset:5px}
.jpf-promotions .jpf-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.jpf-promotions [id]{scroll-margin-top:165px}
.ap-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:25px;color:var(--ap-muted)}
.ap-breadcrumb a{color:var(--ap-ink)}.ap-breadcrumb .jpf-icon{width:13px;height:13px}
.ap-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center;background:var(--ap-sage);padding:54px 48px;border:1px solid var(--ap-line);border-radius:24px}
.ap-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ap-muted);line-height:1.6}
.ap-eyebrow>span:empty{width:6px;height:6px;border-radius:50%;background:#8a934f}
.ap-hero h1{font-size:clamp(27px,3vw,43px);font-weight:750;line-height:1.5;letter-spacing:-.035em;margin:20px 0}
.ap-hero h1 em{font-style:normal;color:#687847}
.ap-lead{font-size:15px;line-height:1.95;max-width:560px;color:#4e6255}
.ap-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:28px}
.ap-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 19px;border-radius:10px;font-weight:700;font-size:13px;line-height:1.6;text-align:center}
.ap-button--dark{background:var(--ap-ink);color:#fffef5!important}.ap-button--dark:hover{background:#285b48}
.ap-text-link{display:inline-flex;gap:9px;align-items:center;color:var(--ap-ink);font-weight:700;font-size:13px}
.ap-text-link:hover{color:#6c752e}.ap-brand-card{background:#fffef8;border:1px solid #d5ddc7;border-radius:16px;padding:30px 24px;text-align:center;box-shadow:0 14px 36px #233b1d08}
.ap-brand-card>.ap-eyebrow{justify-content:center}.ap-wordmark{display:block;width:100%;height:auto;margin:18px 0;border-radius:8px;object-fit:contain}.ap-brand-motto{font-size:13px;letter-spacing:.2em}
.ap-brand-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:24px;font-size:12px;color:var(--ap-muted)}.ap-brand-facts span{display:flex;gap:7px;align-items:center}.ap-brand-facts .jpf-icon{width:16px;height:16px}.ap-class-modes{border-top:1px solid var(--ap-line);padding-top:17px;margin-top:20px!important;font-size:12px;font-weight:600}.ap-class-modes span{padding:0 8px;color:#8b987b}
.ap-course-picker{padding:58px 0 48px}.ap-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.ap-section-heading h2{font-size:25px;line-height:1.6;margin-top:8px}.ap-section-note{font-size:12px;color:var(--ap-muted)}
.ap-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ap-choice{display:flex;flex-direction:column;border:1px solid var(--ap-line);border-radius:16px;background:var(--ap-paper);padding:24px;color:var(--ap-ink)}.ap-choice:hover{background:#f3f6ed;border-color:#9aaf85}.ap-choice-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.ap-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--ap-sage)}.ap-small-label{font-size:12px;font-weight:700}.ap-choice-level{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ap-muted)}.ap-choice h3{font-size:21px;margin:7px 0 12px;letter-spacing:-.02em}.ap-choice p{font-size:13px;color:var(--ap-muted);line-height:1.9;margin-bottom:22px}.ap-choice-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:auto;border-top:1px solid var(--ap-line);padding-top:15px;font-size:12px;font-weight:700}
.ap-course-sections{display:grid;gap:36px}.ap-course{border:1px solid var(--ap-line);border-radius:20px;background:var(--ap-paper);overflow:hidden}.ap-course-heading{display:flex;align-items:center;gap:18px;padding:28px 30px;border-bottom:1px solid var(--ap-line);background:#f7f8f0}.ap-course-number{font-size:33px;color:#96a67d;font-weight:400;line-height:1}.ap-course-heading h2{font-size:27px;line-height:1.5;letter-spacing:-.035em}.ap-course-jump{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:11px;color:var(--ap-muted);white-space:nowrap}.ap-course-body{display:grid;grid-template-columns:minmax(220px,.77fr) minmax(0,2fr);gap:30px;padding:30px}
.ap-poster-link{display:block;border:1px solid var(--ap-line);border-radius:12px;overflow:hidden;background:white;color:var(--ap-ink)}.ap-poster-link img{width:100%;height:auto;display:block;object-fit:contain}.ap-poster-link>span{display:flex;justify-content:center;align-items:center;gap:8px;border-top:1px solid var(--ap-line);padding:11px;font-size:12px;font-weight:650;background:var(--ap-sage)}.ap-poster-link:hover>span{background:#dce6cd}.ap-poster-link .jpf-icon{width:15px;height:15px}.ap-materials{display:flex;gap:9px;margin-top:15px!important;color:var(--ap-muted);font-size:11px;line-height:1.7}.ap-materials .jpf-icon{width:17px;height:17px;margin-top:2px}
.ap-course-intro{font-size:14px;line-height:1.95}.ap-facts{display:grid;grid-template-columns:.8fr .7fr 1.3fr;gap:12px;border-top:1px solid var(--ap-line);border-bottom:1px solid var(--ap-line);padding:20px 0;margin:22px 0!important}.ap-facts dt{font-size:11px;color:var(--ap-muted);display:flex;gap:6px;align-items:center}.ap-facts dt .jpf-icon{width:14px;height:14px}.ap-facts dd{margin:5px 0 0;font-size:13px;font-weight:700;line-height:1.6}.ap-syllabus{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ap-syllabus h3{font-size:14px;margin-bottom:14px}.ap-syllabus ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.ap-syllabus li{display:flex;align-items:start;gap:8px;font-size:12px;line-height:1.65;color:#526656}.ap-syllabus li .jpf-icon{width:14px;height:14px;flex-shrink:0;margin-top:3px;color:#7b8f5c}
.ap-study-plan{margin:0 30px;background:var(--ap-sage);border:1px solid var(--ap-line);border-radius:12px;display:flex;align-items:center;gap:30px;padding:22px}.ap-study-total{display:flex;align-items:center;gap:13px;flex-shrink:0}.ap-study-total>.jpf-icon{width:28px;height:28px;color:#6e8150}.ap-study-total>span{display:grid;gap:3px}.ap-study-total strong{font-size:26px;line-height:1;letter-spacing:-.03em}.ap-study-total strong small{font-size:13px;font-weight:600;letter-spacing:0}.ap-study-total>span>span{font-size:10px;color:var(--ap-muted)}.ap-study-plan dl{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;border-left:1px solid #ced9bf;padding-left:28px}.ap-study-plan dt{font-size:10px;color:var(--ap-muted)}.ap-study-plan dd{margin:4px 0 0;font-size:13px;font-weight:750;line-height:1.6}.ap-study-plan dd span{white-space:nowrap}.ap-course-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 30px 25px}.ap-course-footer p{font-size:10px;color:var(--ap-muted)}
.ap-general{padding:64px 0}.ap-general-intro{max-width:850px;color:var(--ap-muted);font-size:14px;line-height:1.95;margin-bottom:26px!important}.ap-general-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:1000px;margin:auto}.ap-general-poster{border:1px solid var(--ap-line);border-radius:16px;overflow:hidden;background:var(--ap-paper)}.ap-general-poster>a{display:block}.ap-general-poster img{display:block;width:100%;height:auto;object-fit:contain}.ap-general-poster figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:15px 18px;font-size:12px;border-top:1px solid var(--ap-line)}.ap-general-poster figcaption>a{display:flex;align-items:center;gap:6px;color:var(--ap-ink);font-size:11px}.ap-general-poster figcaption .jpf-icon{width:16px;height:16px}
.ap-contact{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:52px;background:var(--ap-ink);color:#e1e9d7;border-radius:22px;padding:44px 48px;align-items:center}.ap-contact .ap-eyebrow{color:#b7c99b}.ap-contact h2{color:#fbfbed;font-size:31px;line-height:1.65;margin:13px 0 16px}.ap-contact-copy>p:not(.ap-eyebrow){font-size:13px;line-height:1.9;color:#c1d0bd}.ap-teacher{display:flex;gap:16px;align-items:center;margin:27px 0;padding:22px 0;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26}.ap-teacher>img{display:block;object-fit:contain;width:65px;height:65px;border-radius:12px}.ap-teacher h3{font-size:15px;color:#fbfbed;line-height:1.8}.ap-teacher h3 span{font-size:13px;font-weight:500;margin-left:8px}.ap-teacher p{font-size:11px;color:#c1d0bd}.ap-teacher .ap-eyebrow{font-size:9px;margin-bottom:4px}.ap-contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.ap-button--light{background:var(--ap-lime);color:var(--ap-ink)!important}.ap-button--light:hover{background:#ecf3d6}.ap-button--outline{border:1px solid #b8c69c80;color:#f7faed!important}.ap-button--outline:hover{background:#ffffff12}.ap-contact-facebook{display:flex;align-items:center;gap:8px;color:#d5e3be!important;width:100%;font-size:12px;margin-top:6px}.ap-contact-facebook:hover{color:#fff!important}.ap-location{display:flex;align-items:center;gap:10px;margin-top:25px!important}.ap-location>span>span{display:block;font-size:11px}.ap-qr{background:#fbfcf7;padding:10px 10px 17px;border-radius:15px;color:var(--ap-ink);text-align:center;align-self:center}.ap-qr a{display:block}.ap-qr img{display:block;width:100%;height:auto;object-fit:contain;border-radius:8px}.ap-qr figcaption{font-size:12px;font-weight:700;margin-top:4px}.ap-qr figcaption span{font-size:10px;font-weight:400;color:var(--ap-muted)}
.ap-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1200px){.ap-choice{padding:28px}}
@media(max-width:1100px){.ap-hero{gap:30px;padding:35px}.ap-actions{gap:15px}.ap-course-body{grid-template-columns:minmax(205px,.8fr) minmax(0,1.6fr);gap:24px}.ap-syllabus{grid-template-columns:1fr;gap:22px}.ap-study-plan{gap:20px}.ap-study-plan dl{gap:12px;padding-left:20px}.ap-study-total strong{font-size:23px}}
@media(max-width:800px){.jpf-promotions{padding:22px 22px 55px}.ap-hero{grid-template-columns:1fr;gap:28px}.ap-brand-card{padding:20px;max-width:480px;width:100%;justify-self:center}.ap-wordmark{max-width:350px;margin:14px auto}.ap-choice-grid{gap:12px}.ap-choice{padding:18px}.ap-choice h3{font-size:18px}.ap-choice-bottom{font-size:10px}.ap-section-heading{align-items:start}.ap-section-note{display:none}.ap-course-heading{padding:24px}.ap-course-heading h2{font-size:24px}.ap-course-body{padding:24px;grid-template-columns:minmax(185px,.85fr) minmax(0,1.3fr);gap:20px}.ap-facts{grid-template-columns:1fr 1fr;gap:14px}.ap-facts>div:last-child{grid-column:1/-1}.ap-study-plan{margin:0 24px;align-items:stretch;flex-direction:column;gap:16px}.ap-study-plan dl{padding:15px 0 0;border-left:0;border-top:1px solid #ced9bf}.ap-course-footer{padding:16px 24px 24px}.ap-contact{padding:32px;gap:25px;grid-template-columns:minmax(0,1fr) 190px}.ap-contact h2{font-size:25px}.ap-teacher h3 span{display:block;margin:0}.ap-contact-actions{flex-direction:column;align-items:stretch}.ap-contact-facebook{justify-content:center}.ap-general-poster figcaption{padding:12px}}
@media(max-width:600px){.jpf-promotions{padding:18px 16px 40px}.jpf-promotions [id]{scroll-margin-top:100px}.ap-breadcrumb{margin-bottom:18px}.ap-hero{padding:27px 22px;border-radius:18px}.ap-hero h1{font-size:28px;line-height:1.55}.ap-lead{font-size:13px}.ap-actions{align-items:start;flex-direction:column;gap:18px}.ap-actions .ap-button{width:100%}.ap-brand-card{padding:18px}.ap-brand-facts{gap:12px;font-size:11px;margin-top:18px}.ap-brand-motto{font-size:11px}.ap-class-modes{font-size:11px}.ap-choice-grid{grid-template-columns:1fr;gap:12px}.ap-choice{padding:21px}.ap-choice-top{margin-bottom:12px}.ap-choice h3{font-size:22px}.ap-choice p{margin-bottom:14px}.ap-choice-bottom{font-size:12px}.ap-course-picker{padding:37px 0}.ap-section-heading h2{font-size:22px}.ap-course-heading{padding:22px 20px;gap:12px;flex-wrap:wrap}.ap-course-number{font-size:26px}.ap-course-heading h2{font-size:23px}.ap-course-jump{width:100%;justify-content:flex-end;margin-top:1px}.ap-course-body{grid-template-columns:1fr;padding:20px;gap:24px}.ap-poster-column{max-width:340px;width:100%;margin:auto}.ap-materials{margin-top:10px!important}.ap-course-intro{font-size:13px}.ap-facts{grid-template-columns:1fr 1fr 1.3fr;gap:10px;padding:17px 0;margin:20px 0!important}.ap-facts>div:last-child{grid-column:auto}.ap-facts dt{font-size:10px;gap:4px}.ap-facts dd{font-size:12px}.ap-facts dt .jpf-icon{width:12px;height:12px}.ap-syllabus{grid-template-columns:1fr;gap:25px}.ap-syllabus h3{font-size:15px}.ap-syllabus li{font-size:13px}.ap-study-plan{margin:0 20px;padding:20px}.ap-study-plan dl{grid-template-columns:1fr 1fr;gap:17px}.ap-study-total strong{font-size:29px}.ap-study-plan dt{font-size:10px}.ap-course-footer{padding:15px 20px 22px;flex-direction:column;align-items:start;gap:13px}.ap-course-footer .ap-text-link{font-size:12px}.ap-general{padding:42px 0}.ap-general-intro{font-size:13px}.ap-general-grid{grid-template-columns:1fr;gap:20px;max-width:430px}.ap-contact{grid-template-columns:1fr;padding:28px 22px;gap:30px}.ap-contact h2{font-size:26px}.ap-qr{width:235px;max-width:100%;justify-self:center}.ap-teacher{align-items:start;gap:12px}.ap-teacher>img{width:54px;height:54px}.ap-teacher h3{font-size:14px}.ap-teacher p{line-height:1.8}.ap-contact-facebook{font-size:11px;flex-wrap:wrap}.ap-contact .ap-button{font-size:12px}.ap-contact-actions{gap:12px}}
@media(prefers-reduced-motion:reduce){.jpf-promotions a{transition:none}}
/* The shared palette uses !important element colours; keep this page's dark surfaces legible. */
html:root body.jpf-promotions-body .jpf-promotions :is(h1,h2,h3,a){color:var(--ap-ink)!important}
html:root body.jpf-promotions-body .jpf-promotions p{color:var(--ap-muted)!important}
html:root body.jpf-promotions-body .jpf-promotions .ap-button--dark{color:#fffef5!important}
html:root body.jpf-promotions-body .jpf-promotions .ap-contact :is(h2,h3,.ap-button--outline){color:#fbfbed!important}
html:root body.jpf-promotions-body .jpf-promotions .ap-contact p{color:#c1d0bd!important}
html:root body.jpf-promotions-body .jpf-promotions .ap-contact .ap-eyebrow{color:#b7c99b!important}
html:root body.jpf-promotions-body .jpf-promotions .ap-contact-facebook{color:#d5e3be!important}
html:root body.jpf-promotions-body .jpf-promotions .ap-contact-facebook:hover{color:#fff!important}
.ap-teacher>img{flex-shrink:0}
.jpf-promotions a:focus{outline:3px solid #9b791c;outline-offset:5px}
.jpf-promotions :is(h1,h2,h3,p,dd,a){overflow-wrap:anywhere}
.ap-timetable{margin:0 30px 20px;padding:18px 20px;border:1px solid var(--ap-line);border-radius:12px;background:#fbfcf6}
.ap-timetable-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.ap-timetable-title>span{margin-left:auto;font-size:10px;color:var(--ap-muted)}
.ap-schedule-pending{font-size:13px;line-height:1.9;margin-top:10px!important}.ap-schedule-values{font-size:12px;margin-top:14px}.ap-schedule-values p strong{margin-right:10px}.ap-schedule-values ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:13px 0 0}.ap-schedule-values li{display:flex;gap:12px;flex-wrap:wrap;background:var(--ap-sage);padding:8px 12px;border-radius:8px}
.ap-course-body--no-image{grid-template-columns:1fr}.ap-contact--no-qr{grid-template-columns:1fr}.ap-contact{margin-top:35px}
.ap-lead,.ap-course-intro,.ap-general-intro,.ap-contact-copy>p{white-space:pre-line}
@media(max-width:600px){.ap-timetable{margin:0 20px 20px;padding:15px}.ap-timetable-title>span{margin-left:0;width:100%}.ap-schedule-pending{font-size:12px}}
