:root{
--ink:#0F2C3A;--ink-2:#173E4F;--teal:#127C74;--teal-2:#0E655F;--gold:#C99A3B;--gold-2:#E2BC6A;
--mist:#E9F0EE;--paper:#FAFBF9;--line:#D3DEDB;--text:#14232B;--muted:#52646B;--white:#fff;
--r1:4px;--r2:10px;--wrap:1180px;
--f:"IBM Plex Sans Arabic","IBM Plex Sans","Segoe UI",Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f);font-size:17px;line-height:1.65;color:var(--text);background:var(--paper)}
[dir=rtl] body{font-size:17.5px;line-height:1.8}
a{color:var(--teal-2);text-underline-offset:3px}
a:hover{color:var(--ink)}
img,svg{max-width:100%}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:var(--gold);color:var(--ink);padding:8px 14px;z-index:20}
.skip:focus{inset-inline-start:10px}
h1,h2,h3{line-height:1.25;color:var(--ink);margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(30px,4.4vw,52px);letter-spacing:-.01em}
h2{font-size:clamp(24px,2.6vw,34px)}
h3{font-size:20px}
p{margin:0 0 1em;max-width:72ch}
.muted{color:var(--muted)}
/* header */
.top{background:var(--ink);color:#dfe9e7;font-size:14px}
.top .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;min-height:36px;flex-wrap:wrap}
.top a{color:#dfe9e7;text-decoration:none}
.top a:hover{color:var(--gold-2)}
header.site{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand svg{width:44px;height:44px}
.brand b{display:block;font-size:22px;line-height:1;letter-spacing:.01em}
.brand small{display:block;font-size:12px;color:var(--muted);line-height:1.3;margin-top:3px}
nav.main{display:flex;gap:4px;flex-wrap:wrap;margin-inline-start:auto;align-items:center}
nav.main a{text-decoration:none;color:var(--text);padding:8px 10px;border-radius:var(--r1);font-size:15.5px;font-weight:500}
nav.main a:hover,nav.main a[aria-current]{color:var(--teal-2);background:var(--mist)}
nav.main a.lang{border:1px solid var(--line);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--teal);color:#fff!important;border:0;border-radius:999px;padding:11px 22px;font:600 16px var(--f);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--teal-2)}
.btn.gold{background:var(--gold);color:var(--ink)!important}
.btn.gold:hover{background:var(--gold-2)}
.btn.ghost{background:transparent;border:1.5px solid currentColor;color:var(--ink)!important}
.menu-btn{display:none;margin-inline-start:auto;background:none;border:1px solid var(--line);border-radius:var(--r1);padding:8px 12px;font:600 15px var(--f);color:var(--ink)}
@media (max-width:1020px){
 .menu-btn{display:block}
 nav.main{display:none;position:absolute;inset-inline:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px 18px;border-bottom:1px solid var(--line)}
 nav.main.open{display:flex}
 nav.main a{padding:12px 8px}
}
/* hero */
.hero{background:var(--ink);color:#e6efed;position:relative;overflow:hidden}
.hero .contours{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none}
.hero .wrap{position:relative;padding-top:72px;padding-bottom:64px}
.hero h1{color:#fff;max-width:17ch}
.hero p.lead{font-size:19px;color:#c9d8d5;max-width:60ch}
.search{display:flex;background:#fff;border-radius:999px;padding:6px;max-width:720px;margin:28px 0 14px;box-shadow:0 10px 30px rgba(4,20,28,.35)}
.search input{flex:1;border:0;background:transparent;font:500 18px var(--f);padding:10px 18px;color:var(--text);min-width:0}
.search input:focus{outline:none}
.search:focus-within{outline:3px solid var(--gold)}
.quick{display:flex;flex-wrap:wrap;gap:8px;font-size:14.5px}
.quick a{color:#e6efed;border:1px solid rgba(255,255,255,.25);padding:4px 12px;border-radius:999px;text-decoration:none}
.quick a:hover{border-color:var(--gold-2);color:var(--gold-2)}
.facts{display:flex;flex-wrap:wrap;gap:10px 36px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);font-size:15px;color:#b9cbc8}
.facts strong{color:#fff;font-size:22px;display:block}
/* sections */
section.s{padding:64px 0}
section.alt{background:var(--mist)}
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.head p{margin:0}
/* price matrix */
.prices{border-collapse:collapse;width:100%;background:#fff;border:1px solid var(--line)}
.prices th,.prices td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:start}
.prices thead th{background:var(--ink);color:#fff;font-weight:600}
.prices td.p{font-size:26px;font-weight:700;color:var(--ink);white-space:nowrap}
.prices td.p small{font-size:13px;color:var(--muted);font-weight:500;display:block}
.prices tr.inh td{background:#FBF6EA}
.scroll{overflow-x:auto}
/* category list */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:0 32px;border-top:2px solid var(--ink)}
.cats a{display:flex;justify-content:space-between;gap:12px;padding:14px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);font-weight:500}
.cats a span{color:var(--muted);font-weight:400;font-size:15px;white-space:nowrap}
.cats a:hover{color:var(--teal-2)}
/* bodies */
.bodies{display:flex;flex-wrap:wrap;gap:10px}
.bodies a{background:#fff;border:1px solid var(--line);border-radius:var(--r1);padding:10px 16px;text-decoration:none;color:var(--ink);font-weight:600}
.bodies a span{display:block;font-size:13px;color:var(--muted);font-weight:400}
.bodies a:hover{border-color:var(--teal)}
/* cities */
.regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.regions h3{border-bottom:2px solid var(--gold);padding-bottom:6px}
.regions ul{list-style:none;margin:0;padding:0;columns:2;column-gap:20px}
.regions li{padding:3px 0}
/* modes */
.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.modes div{background:#fff;padding:24px}
.modes h3{margin-bottom:6px}
/* breadcrumbs */
.crumbs{font-size:14px;color:var(--muted);padding:16px 0 0}
.crumbs a{color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-inline-end:6px;color:var(--line)}
/* page head */
.phead{background:var(--ink);color:#d7e3e1;padding:40px 0 36px}
.phead h1{color:#fff;font-size:clamp(28px,3.6vw,44px);max-width:28ch}
.phead .crumbs,.phead .crumbs a{color:#a9bfbb}
.phead p{color:#c9d8d5}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;font-size:14px}
.tags li{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:3px 12px;color:#e6efed}
/* course page */
.course{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding:40px 0 64px}
@media (max-width:900px){.course{grid-template-columns:1fr}}
.course h2{font-size:24px;margin-top:34px}
.course h2:first-child{margin-top:0}
.course ul.obj{padding-inline-start:1.2em}
.course ul.obj li{margin-bottom:6px}
.days{list-style:none;margin:0;padding:0;border-inline-start:2px solid var(--gold)}
.days li{padding:6px 0 14px;padding-inline-start:20px;position:relative}
.days li::before{content:"";position:absolute;inset-inline-start:-7px;top:13px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--gold)}
.days b{display:block;color:var(--ink)}
.days span{color:var(--muted);font-size:15.5px}
aside.book{position:sticky;top:96px;align-self:start;background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:0 0 var(--r2) var(--r2);padding:22px}
aside.book h2{font-size:20px;margin:0 0 12px}
.ptab{width:100%;border-collapse:collapse;font-size:15.5px;margin-bottom:16px}
.ptab td,.ptab th{padding:9px 0;border-bottom:1px solid var(--line);text-align:start}
.ptab td:last-child{text-align:end;font-weight:700;color:var(--ink)}
aside.book .btn{width:100%;margin-top:8px}
.code{font-size:14px;color:var(--muted)}
table.sess{width:100%;border-collapse:collapse;font-size:15.5px;background:#fff}
table.sess th{background:var(--mist);text-align:start;padding:10px 12px;font-weight:600;color:var(--ink)}
table.sess td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.sess td a.reg{font-weight:600;white-space:nowrap}
.pill{display:inline-block;font-size:13px;border-radius:999px;padding:1px 10px;background:var(--mist);color:var(--teal-2);font-weight:600}
.pill.on{background:#FBF1DC;color:#7A5A12}
.note{background:#FBF6EA;border-inline-start:4px solid var(--gold);padding:14px 18px;font-size:15.5px;border-radius:var(--r1)}
/* listing */
.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.list li{border-bottom:1px solid var(--line)}
.list a{display:grid;grid-template-columns:110px 1fr auto;gap:16px;padding:12px 4px;text-decoration:none;color:var(--text);align-items:baseline}
.list a:hover{background:#fff;color:var(--teal-2)}
.list .c{font-size:13.5px;color:var(--muted)}
.list .l{font-size:13.5px;color:var(--muted);white-space:nowrap}
@media (max-width:640px){.list a{grid-template-columns:1fr}.list .l{display:none}}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.filters input,.filters select{font:500 16px var(--f);padding:10px 12px;border:1px solid var(--line);border-radius:var(--r1);background:#fff;color:var(--text)}
.filters input{flex:1 1 260px}
.count{font-size:15px;color:var(--muted);margin:0 0 10px}
/* forms */
form.reg{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;background:#fff;border:1px solid var(--line);padding:26px;border-radius:var(--r2)}
form.reg .full{grid-column:1/-1}
form.reg label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px;color:var(--ink)}
form.reg input,form.reg select,form.reg textarea{font:400 16px var(--f);padding:11px 12px;border:1px solid var(--line);border-radius:var(--r1);background:var(--paper);color:var(--text)}
form.reg textarea{min-height:100px}
.total{font-size:22px;font-weight:700;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (max-width:700px){form.reg{grid-template-columns:1fr}}
/* plan years */
details.yr{border:1px solid var(--line);background:#fff;margin-bottom:12px;border-radius:var(--r1)}
details.yr summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--ink);font-size:18px}
details.yr .scroll{padding:0 12px 12px}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.cta{background:var(--teal);color:#e9f5f3;padding:46px 0}
.cta h2{color:#fff}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
/* footer */
footer.site{background:var(--ink);color:#b9cbc8;padding:50px 0 26px;font-size:15px}
footer.site a{color:#dfe9e7;text-decoration:none}
footer.site a:hover{color:var(--gold-2)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer h3{color:#fff;font-size:16px}
footer ul{list-style:none;padding:0;margin:0}
footer li{padding:3px 0}
footer .legal{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;font-size:13.5px}
@media (max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}
.wa{position:fixed;inset-inline-end:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:#1FA855;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:9}
.wa svg{width:28px;height:28px;fill:#fff}
@media print{header.site,.top,footer.site,.wa,aside.book .btn,.cta,nav{display:none!important}.phead{background:#fff;color:#000}.phead h1{color:#000}.course{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media (max-width:640px){.top .tag{display:none}}
/* future skills */
.fut-hero .lead{max-width:64ch}
.fut-toc{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fut-toc a{display:block;color:#e6efed;border:1px solid rgba(255,255,255,.25);padding:6px 14px;border-radius:999px;text-decoration:none;font-size:15px}
.fut-toc a:hover{border-color:var(--gold-2);color:var(--gold-2)}
.fut-row{padding:54px 0;border-bottom:1px solid var(--line);scroll-margin-top:80px}
.fut-row.alt{background:var(--mist)}
.fut-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start}
@media (max-width:860px){.fut-grid{grid-template-columns:1fr;gap:20px}}
.fut-row h2{border-inline-start:4px solid var(--gold);padding-inline-start:14px}
.chips{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:#fff;border:1px solid var(--line);border-radius:var(--r1);padding:4px 12px;font-size:14.5px;color:var(--ink);font-weight:500}
.fut-cta{font-weight:600;margin:0}
.fut-courses{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink);background:#fff}
.fut-courses a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);font-weight:500}
.fut-courses a:hover{color:var(--teal-2);background:var(--paper)}
.fut-courses .l{font-size:12.5px;font-weight:700;color:#7A5A12;background:#FBF1DC;border-radius:999px;padding:0 10px;align-self:center}
.fut-courses .l:empty{display:none}
.fut-list{list-style:none;margin:0;padding:0;columns:2;column-gap:28px;border-top:2px solid var(--ink)}
.fut-list li{break-inside:avoid;border-bottom:1px solid var(--line)}
.fut-list a{display:block;padding:11px 2px;text-decoration:none;color:var(--text);font-weight:500}
.fut-list a:hover{color:var(--teal-2)}
@media (max-width:640px){.fut-list{columns:1}}
nav.main{gap:2px;flex-wrap:nowrap}
nav.main a{padding:8px 7px;font-size:15px;white-space:nowrap}
header.site .wrap{gap:16px}
@media (max-width:1240px){
 .menu-btn{display:block}
 nav.main{display:none;position:absolute;inset-inline:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px 18px;border-bottom:1px solid var(--line)}
 nav.main.open{display:flex}
 nav.main a{padding:12px 8px}
}
