
:root{--bg:#F6F5FA;--surface:#fff;--surface-2:#EEEBF6;--ink:#1D1833;--muted:#5C5872;--line:#E1DDEC;--navy:#2A1F4D;--navy-2:#473778;--cop:#CF1F33;--cop-d:#A81626;--cop-l:#FBE6E9;--ok:#1E7B45;
--fd:"Poppins","Segoe UI",Arial,sans-serif;--fb:"Inter","Segoe UI",Arial,sans-serif;--r:14px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#110D1F;--surface:#1A1530;--surface-2:#241D3E;--ink:#E9EEF4;--muted:#A4B0BF;--line:#2F2850;--cop-l:#3A1C22;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0F141B;--surface:#161D27;--surface-2:#1E2733;--ink:#E9EEF4;--muted:#A4B0BF;--line:#2A3544;--cop-l:#3A1C22;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.6}
h1,h2,h3{font-family:var(--fd);line-height:1.2;margin:0;text-wrap:balance}p{margin:0 0 14px}a{color:inherit}
.i{width:22px;height:22px;flex:none}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
:focus-visible{outline:3px solid var(--cop);outline-offset:2px}
/* top strip + header */
.strip{background:#1A1235;color:#D6D1E8;font-size:14px}.strip .wrap{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-block:7px;flex-wrap:wrap}
.strip a{text-decoration:none;display:inline-flex;gap:6px;align-items:center}.strip .i{width:16px;height:16px;color:#FF8E9B}
.strip .l{display:flex;gap:18px;flex-wrap:wrap}
header.site{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(0,0,0,.18)}
header.site .wrap{display:flex;align-items:center;gap:14px;min-height:72px;max-width:1380px}
.strip .wrap{max-width:1380px}
@media (max-width:1380px){.brand small{display:none}}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img{width:44px;height:44px;border-radius:50%;background:#fff;padding:5px;object-fit:contain}
.brand b{font-family:var(--fd);font-size:19px;letter-spacing:.01em;line-height:1.05}.brand small{display:block;font-size:11.5px;letter-spacing:.16em;color:#FF8E9B;font-weight:700}
nav.main{margin-left:auto}nav.main>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
nav.main a,nav.main button.top{font:600 15px var(--fb);color:#fff;text-decoration:none;background:none;border:0;padding:10px 11px;border-radius:8px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}
nav.main a:hover,nav.main button.top:hover,nav.main li.open>button.top{background:rgba(255,255,255,.1)}
nav.main a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--cop)}
nav.main .i{width:16px;height:16px;transition:transform .2s}nav.main li.open>button .i{transform:rotate(180deg)}
li.dd{position:relative}
.panel{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:var(--surface);color:var(--ink);border-radius:12px;box-shadow:0 18px 40px rgba(26,18,53,.28);padding:8px;display:none;border:1px solid var(--line)}
li.dd.open .panel{display:block}
@media (min-width:1280px){li.dd.open::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}.panel{max-height:calc(100vh - 110px);overflow:auto;overscroll-behavior:contain}}
.panel a{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:0!important;color:var(--ink)!important;padding:9px 12px!important;white-space:normal!important}
.panel a:hover{background:var(--surface-2)!important}.panel a span{font-size:13px;color:var(--muted);font-weight:400}
.panel .gh{font:700 11.5px var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--cop);padding:10px 12px 4px}
.panel .gh:not(:first-child){border-top:1px solid var(--line);margin-top:6px}
.panel .all{border-top:1px solid var(--line);margin-top:6px;font-weight:700}
.hbtns{display:flex;gap:8px;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--cop);background:var(--cop);color:#fff;font:700 15.5px var(--fb);padding:11px 20px;border-radius:10px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--cop-d);border-color:var(--cop-d)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.line{background:transparent;border-color:var(--line);color:var(--ink)}.btn.line:hover{background:var(--surface-2)}
.btn.navy{background:var(--navy);border-color:var(--navy)}.btn.navy:hover{background:var(--navy-2)}
.btn.sm{padding:8px 14px;font-size:14.5px}
.burger{display:none;margin-left:auto;background:none;border:2px solid rgba(255,255,255,.4);color:#fff;border-radius:9px;padding:7px 10px;font:700 15px var(--fb);align-items:center;gap:6px;cursor:pointer}
/* sections */
.eyebrow{font:700 12.5px var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--cop)}
section{padding:72px 0}.sh{max-width:720px;margin-bottom:30px}.sh h2{font-size:clamp(26px,3.4vw,36px);margin:8px 0 10px}.sh p{color:var(--muted);font-size:18px}
.hero{background:radial-gradient(110% 120% at 100% 0%,#1B3556 0%,#12263F 50%,#1A1235 100%);color:#fff;padding:76px 0 84px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center}
.hero h1{font-size:clamp(34px,5.2vw,58px);margin:12px 0 18px;letter-spacing:-.01em}.hero h1 em{font-style:normal;color:#FF8E9B}
.hero p.lead{font-size:19.5px;color:rgba(255,255,255,.85);max-width:600px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.badge{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:7px 14px;font-size:14.5px}
.badge .i{width:18px;height:18px;color:#FF8E9B}
.hcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:24px;backdrop-filter:blur(4px)}
.hcard h2{font-size:20px;margin-bottom:14px}
.hlink{display:flex;gap:14px;align-items:center;padding:14px;border-radius:12px;text-decoration:none;background:rgba(255,255,255,.06);margin-bottom:10px;border:1px solid transparent}
.hlink:hover{border-color:rgba(240,165,127,.6);background:rgba(255,255,255,.1)}
.hlink .ic{width:44px;height:44px;border-radius:12px;background:var(--cop);display:flex;align-items:center;justify-content:center;flex:none}
.hlink b{display:block;font-size:16.5px}.hlink span{font-size:14px;color:rgba(255,255,255,.75)}
.hlink .go{margin-left:auto;color:#FF8E9B}
.deco{position:absolute;right:-90px;bottom:-110px;width:420px;height:420px;color:rgba(200,88,43,.12)}
.grid{display:grid;gap:18px}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.ccard{display:flex;flex-direction:column;gap:10px}
.ccard .ic,.fcard .ic{width:50px;height:50px;border-radius:13px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center}
.ccard h3{font-size:19px}.ccard p{color:var(--muted);font-size:15.5px;margin:0;flex:1}
.price{font:800 22px var(--fd);color:var(--cop)}.price.free{color:var(--ok)}
.ccard .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.band{background:var(--surface)}.band.alt{background:var(--surface-2)}
.fcard{display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.fcard:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(42,31,77,.12)}
.fcard h3{font-size:19px}.fcard p{color:var(--muted);font-size:15.5px;margin:0}
.fcard .more{margin-top:auto;font-weight:700;color:var(--cop);display:inline-flex;gap:6px;align-items:center}.fcard .more .i{width:18px;height:18px}
.fcard .ic.cop{background:var(--cop)}
.tag{display:inline-block;font:700 12px var(--fb);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:var(--cop-l);color:var(--cop-d);align-self:flex-start}
:root[data-theme="dark"] .tag{color:#FF8E9B}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tag{color:#FF8E9B}}
.mgroup h3{font-size:21px;margin:0 0 14px;display:flex;gap:10px;align-items:center}
.mlist{display:grid;gap:10px}
.mitem{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--surface)}
.mitem:hover{border-color:var(--cop)}.mitem b{display:block}.mitem span{font-size:14px;color:var(--muted)}.mitem .code{font:800 14px var(--fd);background:var(--navy);color:#fff;border-radius:9px;padding:8px 10px;min-width:74px;text-align:center}
.mitem .go{margin-left:auto;color:var(--cop)}
.path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:s}
.path div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;position:relative}
.path div::before{counter-increment:s;content:counter(s);display:flex;width:30px;height:30px;border-radius:50%;background:var(--cop);color:#fff;font:700 14px var(--fb);align-items:center;justify-content:center;margin-bottom:8px}
.path b{display:block;font-size:16px}.path span{font-size:14px;color:var(--muted)}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:9px}.ticks li{display:flex;gap:10px}.ticks .i{color:var(--ok);margin-top:3px;width:20px;height:20px}
.ctaband{background:var(--cop);color:#fff;border-radius:20px;padding:38px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ctaband h2{font-size:clamp(24px,3vw,32px)}.ctaband p{margin:6px 0 0;color:rgba(255,255,255,.9)}
.ctaband .btn{background:#fff;color:var(--cop-d);border-color:#fff}.ctaband .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.phead{background:radial-gradient(110% 140% at 100% 0%,#1B3556 0%,#12263F 60%,#1A1235 100%);color:#fff;padding:56px 0}
.phead h1{font-size:clamp(30px,4.4vw,46px);margin:8px 0 10px}.phead p{color:rgba(255,255,255,.85);font-size:18.5px;max-width:720px;margin:0}
.crumbs{font-size:14px;color:rgba(255,255,255,.7)}.crumbs a{color:#fff}
.prose{max-width:820px}.prose h2{font-size:26px;margin:34px 0 12px}.prose h3{font-size:19px;margin:22px 0 8px}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:6px}
.stage{border-left:4px solid var(--cop);padding:4px 0 4px 18px;margin:16px 0}
.cinfo{display:grid;gap:14px}.cinfo a,.cinfo div{display:flex;gap:12px;align-items:flex-start;text-decoration:none}.cinfo .i{color:var(--cop);margin-top:3px}
form .f{display:grid;gap:6px;margin-bottom:14px}form label{font-weight:600;font-size:15px}
form input,form select,form textarea{font:inherit;width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
form textarea{min-height:130px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:15px}.chk input{width:18px;height:18px;margin-top:4px;flex:none}
.msg{margin-top:12px;font-weight:600}.msg.ok{color:var(--ok)}.msg.err{color:#A3271B}
footer.site{background:#1A1235;color:#D6D1E8;padding:56px 0 28px;font-size:15.5px}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:28px}
footer.site h3{color:#fff;font-size:16px;margin-bottom:12px}footer.site ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
footer.site a{text-decoration:none}footer.site a:hover{color:#fff;text-decoration:underline}
footer.site .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}
.muted{color:var(--muted)}
@media (max-width:1300px){nav.main a,nav.main button.top{padding:10px 8px;font-size:14.5px}.hbtns .btn.sm{padding:7px 12px}}
@media (max-width:1279px){
 .burger{display:inline-flex}nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow:auto;overscroll-behavior:contain;padding:8px 16px 18px;border-top:1px solid rgba(255,255,255,.12)}
 header.site.menu-open nav.main{display:block}nav.main>ul{flex-direction:column;align-items:stretch}
 nav.main a,nav.main button.top{width:100%;justify-content:space-between;padding:13px 10px;font-size:16px}
 .panel{position:static;display:none;box-shadow:none;border:0;background:rgba(255,255,255,.06);min-width:0;margin:2px 0 6px}.panel a{color:#fff!important}.panel a span{color:rgba(255,255,255,.7)}.panel a:hover{background:rgba(255,255,255,.08)!important}
 .panel .gh{color:#FF8E9B}.panel .gh:not(:first-child),.panel .all{border-color:rgba(255,255,255,.12)}
 .hbtns.desk{display:none}.mhbtns{display:flex;gap:10px;margin-top:12px}.mhbtns .btn{flex:1}
 .hero .wrap{grid-template-columns:1fr}.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.path{grid-template-columns:repeat(2,minmax(0,1fr))}footer.site .cols{grid-template-columns:1fr 1fr}}
@media (min-width:1280px){.mhbtns{display:none}}
@media (max-width:640px){section{padding:54px 0}.g3,.g4,.g2,.two,.path{grid-template-columns:1fr}footer.site .cols{grid-template-columns:1fr}.strip .r{display:none}.brand small{display:none}.ctaband{padding:26px}.hero{padding:52px 0 60px}}

/* Login / Register buttons inside the mobile menu */
nav.main .mhbtns a.btn{justify-content:center;width:auto;padding:11px 14px;font:700 15.5px var(--fb);border:2px solid var(--cop);background:var(--cop);color:#fff;border-radius:10px}
nav.main .mhbtns a.btn.ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}


.price.ask{font-size:15.5px;color:var(--ink);font-weight:700}

/* refresher self-study hub */
.sspack{align-items:stretch}.sscard{display:flex;flex-direction:column;gap:10px}
.sscard .top{display:flex;align-items:center;justify-content:space-between}
.sscard .num{font:800 13px var(--fd);letter-spacing:.08em;color:var(--cop);background:var(--cop-l);border-radius:20px;padding:4px 11px}
.sscard .ic{width:46px;height:46px;border-radius:12px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center}
.sscard h3{font-size:19px}.sscard p{color:var(--muted);font-size:15.5px;margin:0;flex:1}
.sscard .meta{font-size:13.5px;color:var(--muted);font-weight:600}.sscard .btn{width:100%}
.sscard .sub{font-size:14.5px;font-weight:700;color:var(--cop);text-align:center}
.ssteps{counter-reset:s;list-style:none;padding:0;margin:0}
.ssteps li{counter-increment:s;position:relative;padding:0 0 14px 44px}
.ssteps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font:700 14px var(--fb);display:flex;align-items:center;justify-content:center}
.ssteps a,.sscard p a{color:var(--cop);font-weight:700}

.ccard .rel{font-size:14.5px;margin:2px 0 0;line-height:1.7}.ccard .rel a{color:var(--cop);font-weight:700;text-decoration:none}.ccard .rel a:hover{text-decoration:underline}
.xlinks{display:flex;gap:10px;flex-wrap:wrap}

.ccard .cdays{list-style:none;padding:12px 14px;margin:4px 0 0;background:var(--surface-2);border-radius:10px;display:grid;gap:6px;font-size:14.5px;line-height:1.45}.ccard .cdays b{color:var(--ink)}.ccard .cdays a,.prereq a{color:var(--cop);font-weight:700}
.ctt{width:100%;border-collapse:collapse;font-size:16px}.ctt th{text-align:left;width:34%;padding:10px 12px;background:var(--surface-2);font-weight:700;border-bottom:1px solid var(--line)}.ctt td{padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600}
.prereq{margin-top:22px;border-left:5px solid var(--cop);scroll-margin-top:110px}.prereq h3{font-size:20px;margin-bottom:14px}.warnline{margin:6px 0 0;padding:12px 14px;border-radius:10px;background:var(--cop-l);font-weight:600}
.ccard{scroll-margin-top:110px}

/* LOGIX */
/* LOGIX */
.strip{background:var(--navy-2);color:#fff}.strip a,.strip span{color:#fff}.strip .i{color:#fff;opacity:.9}.strip .r{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.strip .r a[data-enquire]{font-weight:700;background:var(--cop);padding:3px 10px;border-radius:6px}
header.site{background:#fff;color:#1D1833;box-shadow:0 2px 16px rgba(42,31,77,.10);border-bottom:3px solid var(--cop)}
header.site .wrap{min-height:76px}
.brand img{width:auto;height:62px;border-radius:0;padding:0;background:none;object-fit:contain}
nav.main a,nav.main button.top{color:#1D1833;font-weight:500}
nav.main a:hover,nav.main button.top:hover,nav.main li.open>button.top{background:#EEEBF6}
nav.main a[aria-current="page"],nav.main button.top[aria-current="page"]{box-shadow:inset 0 -3px 0 #CF1F33;color:#473778}
nav.main li.cta{margin-left:8px}nav.main li.cta a.btn{color:#fff!important;background:var(--cop)!important;padding:9px 18px;font-weight:700;justify-content:center}nav.main li.cta a.btn:hover{background:var(--cop-d)!important}
.burger{color:#1D1833;border-color:#E1DDEC;background:#fff}
.panel{min-width:340px}.panel a span{color:var(--muted)}
@media (min-width:1280px){nav.main li.dd:nth-of-type(2) .panel{min-width:460px;columns:1}}
@media (max-width:1279px){nav.main{background:#fff;border-top:1px solid #E1DDEC;box-shadow:0 18px 30px rgba(42,31,77,.12)}
 .panel{background:#EEEBF6}.panel a{color:#1D1833!important}.panel a span{color:#5C5872}.panel a:hover{background:#fff!important}.panel .gh{color:#CF1F33}.panel .gh:not(:first-child),.panel .all{border-color:#E1DDEC}
 nav.main li.cta{margin:10px 0 0}nav.main li.cta a.btn{width:100%;justify-content:center}}
.btn{background:var(--cop);border-color:var(--cop)}.btn.navy{background:var(--navy-2);border-color:var(--navy-2)}.btn.navy:hover{background:var(--navy);border-color:var(--navy)}
.eyebrow{color:var(--cop)}
.phead{background:linear-gradient(120deg,#2A1F4D 0%,#473778 100%);color:#fff;padding:54px 0 46px}.phead h1{color:#fff;font-size:clamp(30px,4vw,44px);margin:6px 0 10px}.phead p{color:#E4E0F2;max-width:760px;font-size:18px;margin:0}.phead .crumbs{color:#D6D1E8;font-size:14.5px}.phead .crumbs a{color:#fff}
footer.site{background:#1A1235}.fbrand img{height:74px;width:auto;background:#fff;border-radius:10px;padding:6px 10px}
footer.site .cinfo .i{color:#C9B8FF}
/* home */
.lhero{background:radial-gradient(1200px 500px at 85% -10%,rgba(207,31,51,.18),transparent 60%),linear-gradient(125deg,#1A1235 0%,#2A1F4D 45%,#473778 100%);color:#fff;padding:76px 0 84px;position:relative;overflow:hidden}
.lhero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.lhero h1{font-size:clamp(34px,5vw,56px);font-weight:700;line-height:1.08;margin:12px 0 16px;color:#fff}.lhero h1 em{font-style:normal;color:#FF6B7A}
.lhero p.lead{font-size:19px;color:#E4E0F2;max-width:620px}.lhero .eb{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:30px;font-weight:600;font-size:14.5px}
.lhero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn.light{background:#fff;color:var(--navy);border-color:#fff}.btn.light:hover{background:#EEEBF6}
.hpanel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:22px;backdrop-filter:blur(6px)}
.hpanel .hdog{display:flex;gap:14px;align-items:center;padding:0!important;margin-bottom:16px;background:rgba(255,255,255,.10);border-radius:14px;overflow:hidden}.hpanel .hdog img{width:110px;height:84px;object-fit:cover;object-position:64% 50%;flex:none}.hpanel .hdog small{display:block}.hpanel .hdog b{color:#fff}.hpanel h2{font-size:18px;color:#fff;margin:0 0 12px}.hpanel a{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;text-decoration:none;color:#fff}.hpanel a:hover{background:rgba(255,255,255,.08)}
.hpanel a .ic{width:42px;height:42px;border-radius:11px;background:#fff;color:var(--navy-2);display:flex;align-items:center;justify-content:center;flex:none}.hpanel a b{display:block;font-weight:600}.hpanel a small{color:#CFC9E3}.hpanel a .go{margin-left:auto;color:#FF8A96}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-42px;position:relative;z-index:2}
.stat{background:#fff;border-radius:16px;padding:20px;box-shadow:0 14px 34px rgba(42,31,77,.12);border-top:4px solid var(--navy-2)}.stat:nth-child(2n){border-top-color:var(--cop)}.stat b{display:block;font-size:30px;color:var(--navy);font-weight:700}.stat span{color:var(--muted);font-size:15px}
.gcard{display:flex;flex-direction:column;gap:10px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}
.gcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(42,31,77,.12)}.gcard::after{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy-2),var(--cop))}
.gcard .ic{width:52px;height:52px;border-radius:14px;background:var(--surface-2);color:var(--navy-2);display:flex;align-items:center;justify-content:center}.gcard h3{font-size:20px}.gcard p{color:var(--muted);margin:0;font-size:15.5px;flex:1}
.gcard ul{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:14.5px}.gcard ul li::before{content:"› ";color:var(--cop);font-weight:700}.gcard .more{font-weight:700;color:var(--cop);display:inline-flex;gap:6px;align-items:center}.gcard .more .i{width:18px;height:18px}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.why .card{border-left:4px solid var(--navy-2)}.why .card .ic{width:46px;height:46px;border-radius:12px;background:var(--navy-2);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.why h3{font-size:19px;margin-bottom:6px}.why p{color:var(--muted);margin:0}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}.steps4 div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;position:relative}.steps4 div::before{counter-increment:s;content:counter(s);display:flex;width:34px;height:34px;border-radius:50%;background:var(--cop);color:#fff;font-weight:700;align-items:center;justify-content:center;margin-bottom:10px}.steps4 b{display:block}.steps4 span{color:var(--muted);font-size:15px}
.ctaband{background:linear-gradient(120deg,#CF1F33,#A81626);color:#fff;border-radius:20px;padding:34px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.ctaband h2{color:#fff;font-size:28px}.ctaband p{margin:6px 0 0;color:#FFE3E6}
/* courses page */
.cgroup{scroll-margin-top:120px;margin-bottom:44px}.cgroup>h2{display:flex;gap:12px;align-items:center;font-size:clamp(24px,3vw,30px);margin-bottom:6px}.cgroup>h2 .ic{width:44px;height:44px;border-radius:12px;background:var(--navy-2);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.cgroup>p{color:var(--muted);margin:0 0 18px}
.course{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;scroll-margin-top:120px}.course:target{outline:3px solid var(--cop);outline-offset:2px}
.course h3{font-size:18.5px;line-height:1.3}.course p{color:var(--muted);font-size:15.5px;margin:0;flex:1}.course .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;flex-wrap:wrap}.course .price{font:700 24px var(--fd);color:var(--navy-2)}.course .btns{display:flex;gap:8px}
.cnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}.cnav a{padding:8px 14px;border-radius:30px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:600;font-size:15px}.cnav a:hover{border-color:var(--navy-2);color:var(--navy-2)}
.note{background:var(--surface-2);border-radius:14px;padding:18px 20px}
/* policy pages */
.policy{max-width:860px}.policy h2{font-size:22px;margin:26px 0 10px;color:var(--navy)}.policy h3{font-size:19px;margin:22px 0 8px;color:var(--navy)}.policy h4{font-size:17px;margin:18px 0 6px;color:var(--navy-2)}
.policy ul,.policy ol{padding-left:22px;margin:0 0 14px}.policy li{margin-bottom:5px}.policy table{border-collapse:collapse;width:100%;margin:12px 0 18px;font-size:15px}.policy td,.policy th{border:1px solid var(--line);padding:8px 10px;vertical-align:top}
.plist{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.plist a{display:flex;gap:12px;align-items:center;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;font-weight:600}.plist a:hover{border-color:var(--navy-2)}.plist a .ic{color:var(--navy-2)}.plist a .go{margin-left:auto;color:var(--cop)}
/* booking form */
.bform fieldset{border:1px solid var(--line);border-radius:14px;padding:18px 18px 6px;margin:0 0 18px;background:var(--surface)}.bform legend{font:700 17px var(--fd);color:var(--navy);padding:0 6px}
.bform .g2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.bform .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 16px}
.bform .chks label{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:15.5px;cursor:pointer}.bform .chks label:last-child{border-bottom:0}.bform .chks input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#CF1F33}
.dogs{background:linear-gradient(180deg,#fff,var(--bg))}.dwrap{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center}
.dlist{display:grid;gap:10px;margin-top:18px}.dlist a{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none}.dlist a:hover{border-color:var(--navy-2)}.dlist .ic{width:42px;height:42px;border-radius:11px;background:var(--navy-2);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.dlist b{display:block;font-weight:600;color:var(--ink)}.dlist small{color:var(--cop);font-weight:700;font-size:15px}.dlist .go{margin-left:auto;color:var(--cop)}
.dgal{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:520px}.dgal figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 14px 30px rgba(42,31,77,.14);background:#fff}.dgal img{width:100%;height:100%;object-fit:cover;display:block}
.dgal .d1{grid-row:1/3}.dgal .d1 img{object-position:64% 50%}.dgal .d3 img{object-position:50% 0}
.dimg{width:100%;height:220px;object-fit:cover;border-radius:12px;margin-bottom:4px}
@media (max-width:1100px){.dwrap{grid-template-columns:1fr}}@media (max-width:640px){.dgal{height:420px}}
.dogs2{background:radial-gradient(900px 400px at 10% 0%,rgba(207,31,51,.20),transparent 60%),linear-gradient(135deg,#1A1235,#2A1F4D 55%,#473778);color:#fff;margin-top:56px;padding:64px 0}
.dhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}.dhead h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin:8px 0 10px;max-width:640px}.dhead p{color:#E4E0F2;max-width:640px;margin:0;font-size:17.5px}.dacts{display:flex;gap:10px;flex-wrap:wrap}
.dcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dcard{background:#fff;color:var(--ink);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(0,0,0,.25);transition:transform .15s}.dcard:hover{transform:translateY(-4px)}
.dcard .ph{position:relative;display:block;height:300px;background:#0B1420}.dcard .ph img{width:100%;height:100%;object-fit:cover;display:block}.dcard .pr{position:absolute;left:14px;bottom:14px;background:#CF1F33;color:#fff;font:700 18px var(--fd);padding:6px 12px;border-radius:10px}
.dcard .bd{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}.dcard h3{font-size:19px;color:#1D1833}.dcard p{color:#5C5872;margin:0;font-size:15.5px;flex:1}.dcard .btns{display:flex;gap:8px;margin-top:6px}
.dfeat{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 26px;color:#E4E0F2;font-weight:500}.dfeat li{display:flex;gap:8px;align-items:center}.dfeat .i{width:20px;height:20px;color:#C9B8FF}
@media (max-width:1000px){.dcards{grid-template-columns:1fr 1fr}}@media (max-width:640px){.dcards{grid-template-columns:1fr}.dcard .ph{height:260px}.dogs2{padding:48px 0}}
@media (max-width:1100px){.lhero .wrap{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.why{grid-template-columns:1fr 1fr}.steps4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.strip .l a:nth-child(n+2),.strip .r span{display:none}.strip .wrap{flex-direction:row;flex-wrap:wrap;gap:6px 14px;padding-top:6px;padding-bottom:6px}.strip .l,.strip .r{gap:12px}.stats,.why,.steps4,.plist,.bform .g2,.bform .g3{grid-template-columns:1fr}.lhero{padding:52px 0 72px}.brand img{height:42px}.ctaband{padding:24px}}

/* MAI */
.blogo{width:64px;height:64px;border-radius:50%;flex:none;object-fit:contain;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.18)}.blogo.sm{width:26px;height:26px;box-shadow:none;margin-left:-6px}.mh-card .blogo{width:56px;height:56px}.trust .blogo.ic{width:52px;height:52px;padding:0;background:#fff;border-radius:50%}.approved .blogo{width:68px;height:68px}

.mhero{background:radial-gradient(1000px 500px at 90% -10%,rgba(207,31,51,.25),transparent 60%),linear-gradient(125deg,#140E2A 0%,#2A1F4D 55%,#473778 100%);color:#fff;padding:70px 0 80px;overflow:hidden}
.mh-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.mh-text .eb{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:6px 13px;border-radius:30px;font-weight:600;font-size:14.5px}.mh-text .eb .i{color:#FF8E9B}
.mhero h1{color:#fff;font-size:clamp(34px,4.8vw,56px);line-height:1.08;margin:16px 0 16px}.mhero h1 em{font-style:normal;color:#FF6B7A}.mhero .lead{color:#E4E0F2;font-size:19px;max-width:600px}.mhero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.mh-points{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;color:#E4E0F2;font-weight:500;font-size:15.5px}.mh-points li{display:flex;gap:7px;align-items:center}.mh-points .i{width:18px;height:18px;color:#FF8E9B}
.mh-visual{position:relative;height:460px}.mh-visual figure{margin:0;position:absolute;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35)}.mh-visual img{width:100%;height:100%;object-fit:cover;display:block}
.mh-main{inset:0 0 60px 60px}.mh-sm{width:44%;height:42%;left:0;bottom:0;border:5px solid #2A1F4D}
.mh-card{position:absolute;right:-6px;bottom:24px;display:flex;gap:12px;align-items:center;background:#fff;color:#1D1833;border-radius:16px;padding:14px 18px;box-shadow:0 18px 40px rgba(0,0,0,.3)}.mh-card .ic{width:44px;height:44px;border-radius:50%;background:#CF1F33;color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.mh-card b{display:block;font:700 16px var(--fd)}.mh-card small{color:#5C5872;font-size:13px}
.trust{background:var(--surface);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:24px 20px;border-right:1px solid var(--line)}.trust-grid>div:last-child{border-right:0}
.trust .ic{grid-row:span 2;width:48px;height:48px;border-radius:14px;background:var(--surface-2);color:var(--navy-2);display:flex;align-items:center;justify-content:center}.trust b{font:600 16px var(--fd);color:var(--ink)}.trust small{color:var(--muted);font-size:14px}
.sh-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.sh-row .sh{margin-bottom:24px}.sh-row .btn{margin-bottom:28px}
.grid.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.g4 .pcard .ph{height:190px}
@media (max-width:1100px){.mh-grid{grid-template-columns:1fr}.mh-visual{height:380px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div:nth-child(2){border-right:0}.trust-grid>div{border-bottom:1px solid var(--line)}.grid.g4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.mhero{padding:48px 0 56px}.mh-visual{height:300px}.mh-main{inset:0 0 40px 30px}.mh-card{right:0;bottom:6px;padding:10px 12px}.trust-grid,.grid.g4{grid-template-columns:1fr}.trust-grid>div{border-right:0}}

.approved{display:flex;gap:14px;align-items:center;margin:20px 0 4px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);color:#fff}.approved .ic{width:46px;height:46px;border-radius:50%;background:#CF1F33;color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.approved b{display:block;font:700 16px var(--fd);letter-spacing:.02em}.approved div span{font-size:15px;color:#E4E0F2}
.approved.light{background:var(--cop-l);border-color:#F3C3CA;color:var(--ink)}.approved.light div span{color:var(--ink)}.approved.light b{color:#A81626}
.strip .addr{display:inline-flex;gap:6px;align-items:center;opacity:.9}
.panel a.sub{padding-left:28px!important;border-left:3px solid var(--cop);margin-left:12px}
.lhero{background:linear-gradient(110deg,rgba(26,18,53,.94) 0%,rgba(42,31,77,.86) 50%,rgba(71,55,120,.55) 100%),url(img/study-laptop.jpg) center/cover}
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.cats a{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;text-decoration:none;font-weight:600;text-align:center;text-transform:capitalize}.cats a:hover{border-color:var(--navy-2);transform:translateY(-2px)}.cats img{width:64px;height:64px;object-fit:contain;border-radius:12px}
.pcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .15s,box-shadow .15s}.pcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(42,31,77,.14)}
.pcard .ph{display:block;height:210px;background:#EEEBF6;position:relative}.pcard .ph img{width:100%;height:100%;object-fit:cover;display:block}.pcard .pr{position:absolute;left:12px;bottom:12px;background:#CF1F33;color:#fff;font:700 17px var(--fd);padding:5px 11px;border-radius:9px}
.pcard .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.pcard h3{font-size:18.5px;line-height:1.3}.pcard h3 a{text-decoration:none;color:inherit}.pcard p{color:var(--muted);margin:0;font-size:15.5px;flex:1}.pcard .btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.k9band{background:radial-gradient(900px 400px at 10% 0%,rgba(207,31,51,.22),transparent 60%),linear-gradient(135deg,#1A1235,#2A1F4D 55%,#473778);color:#fff;padding:64px 0}
.k9band h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin:8px 0 10px}.k9band p.lead{color:#E4E0F2;font-size:17.5px;max-width:640px;margin:0}
.k9grid{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center}.k9tiles{display:grid;gap:12px;margin-top:20px}
.k9tiles a{display:flex;gap:14px;align-items:center;padding:16px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;text-decoration:none;color:#fff}.k9tiles a:hover{background:rgba(255,255,255,.14)}
.k9tiles .ic{width:46px;height:46px;border-radius:12px;background:#fff;color:#473778;display:flex;align-items:center;justify-content:center;flex:none}.k9tiles b{display:block}.k9tiles small{color:#CFC9E3}.k9tiles .go{margin-left:auto;color:#FF8E9B}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:150px;gap:10px}.mosaic figure{margin:0;border-radius:14px;overflow:hidden;background:#2A1F4D}.mosaic img{width:100%;height:100%;object-fit:cover;display:block}.mosaic .big{grid-column:span 2;grid-row:span 2}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery figure{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--surface-2)}.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feat .card .ic{width:46px;height:46px;border-radius:12px;background:var(--navy-2);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.feat h3{font-size:19px;margin-bottom:6px}.feat p{color:var(--muted);margin:0}
.cpage{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}.cpage .hero-img{width:100%;border-radius:18px;display:block;aspect-ratio:4/3;object-fit:cover}.pricebox{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;position:sticky;top:110px}.pricebox .price{font:700 34px var(--fd);color:var(--navy-2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.split img{width:100%;border-radius:18px;display:block;aspect-ratio:4/3;object-fit:cover}
.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat3 .card b{display:block;font:700 22px var(--fd);color:var(--navy);margin-bottom:4px}
@media (max-width:1100px){.cats{grid-template-columns:repeat(3,1fr)}.k9grid,.cpage,.split{grid-template-columns:1fr}.feat,.gallery{grid-template-columns:1fr 1fr}.pricebox{position:static}}
@media (max-width:640px){.cats{grid-template-columns:repeat(2,1fr)}.feat,.gallery,.stat3{grid-template-columns:1fr}.mosaic{grid-auto-rows:110px}.strip .addr{display:none}}
