/* AES public website — one type scale, calm spacing, responsive layouts. */
:root{--aes-font:Arial,Helvetica,sans-serif;--g:#087b50;--gd:#086644;--ink:#173a31;--muted:#53675f;--mint:#f0f8f4;--line:#d8e6df;--aes-header-h:84px}
html{font-family:var(--aes-font);font-size:16px;scroll-padding-top:105px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,body *,button,input,select,textarea{font-family:var(--aes-font)!important}
body{font-size:16px;line-height:1.65;padding-top:var(--aes-header-h);color:var(--ink)}
button,input,select,textarea{font-size:16px!important;line-height:1.4}
input,select,textarea{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd8a22!important;outline-offset:4px}
header{height:var(--aes-header-h);padding:0 max(24px,calc((100vw - 1360px)/2));gap:22px}
header .brand{flex-shrink:0;gap:12px}header .brand img{width:52px;height:52px}header .brand b{font-size:18px;line-height:1.25}header .brand small{font-size:12px;line-height:1.4;margin-top:4px;opacity:.85}
header>nav{gap:18px;font-size:14px;align-items:center;margin-left:auto;margin-right:auto;line-height:1.3}header>nav a{padding:30px 0;white-space:nowrap}header>.enquire{font-size:14px;white-space:nowrap;padding:11px 16px}
.aes-public main{min-width:0}.aes-public p{font-size:16px!important;line-height:1.75!important}.aes-public h1,.aes-public h2,.aes-public h3{line-height:1.25;letter-spacing:-.025em;overflow-wrap:break-word}.aes-public h1{font-size:clamp(32px,3.7vw,48px)}.aes-public h2{font-size:clamp(26px,2.5vw,36px)}.aes-public h3{font-size:19px!important}
.aes-public small{font-size:14px!important;line-height:1.55!important}.aes-public li{font-size:16px;line-height:1.7}
.aes-public main>section{scroll-margin-top:104px}
.aes-public .intro{padding:48px max(24px,calc((100vw - 1240px)/2)) 28px}.aes-public .intro>span,.aes-public .eyebrow{font-size:12px!important;letter-spacing:.12em}.aes-public .intro h1{margin:12px 0}.aes-public .intro p{max-width:740px}
.aes-public .searchbar{grid-template-columns:minmax(200px,1fr) 230px 150px 115px 145px;gap:10px;padding:0 max(24px,calc((100vw - 1240px)/2)) 24px}.aes-public .searchbox input{font-size:16px}.aes-public .menu{max-width:min(390px,calc(100vw - 48px))}.aes-public .uniOption{font-size:15px;padding:12px;min-height:48px}
.aes-public .catalogue{max-width:1320px;margin:auto;grid-template-columns:235px minmax(0,1fr);padding:28px 24px 64px;gap:24px}.catalogueFilters{position:sticky;top:104px;height:max-content}.catalogueFilters>summary{display:none}.catalogueFilters>aside{position:static}.aes-public .filterBlock h3{font-size:17px!important}.aes-public .check{font-size:15px;gap:10px;margin:12px 0;line-height:1.45}.aes-public .check input{width:18px;height:18px;flex:none}
.aes-public .resultHead{gap:15px;flex-wrap:wrap}.aes-public .resultHead b{font-size:17px}.aes-public .resultHead select{height:46px;max-width:100%}.aes-public .programCard{grid-template-columns:minmax(0,1fr) 200px;border-radius:16px;margin-bottom:16px}.aes-public .programMain{padding:22px;grid-template-columns:52px minmax(0,1fr)}.aes-public .programMain h3{margin-bottom:10px}.aes-public .uniLine{font-size:15px;line-height:1.5;flex-wrap:wrap}.aes-public .meta{font-size:14px;line-height:1.65}.aes-public .tag{font-size:13px;padding:5px 10px}.aes-public .feePanel{padding:20px}.aes-public .feePanel b{font-size:22px;line-height:1.3}.aes-public .ask,.aes-public .profileLink{font-size:15px!important;line-height:1.4}.aes-public .ask{padding:12px}
.aes-public .directorySearchRow{max-width:820px;gap:14px}.aes-public .directorySearchRow input{min-height:50px;min-width:0;flex:1 1 auto}.aes-public .directorySearchRow b{font-size:15px}.aes-public .directoryOnly{padding:32px max(24px,calc((100vw - 1240px)/2)) 64px}.aes-public .universities #uniGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.aes-public .uniCard{padding:24px;border-radius:18px;min-width:0}.aes-public .uniCard h3{min-height:0;margin:20px 0 12px;line-height:1.35}.aes-public .uniCard p{font-size:14px!important;margin:0 0 14px}.aes-public .uniCard .uLogo{width:64px;height:64px}.aes-public .profileLink{padding:8px 0}
.aes-public .profileHero{gap:24px}.aes-public .profileHero h1,.aes-public .courseHero h1{font-size:clamp(29px,3.5vw,44px)}.aes-public .profileBody,.aes-public .courseGrid{grid-template-columns:minmax(0,1fr) 300px;max-width:1340px;margin:auto;padding:32px 24px 64px}.aes-public .panel h2,.aes-public .coursePanel h2{font-size:25px}.aes-public .fact,.aes-public .courseFact,.aes-public .profileProgram,.aes-public .step,.aes-public .note{font-size:15px;line-height:1.7}.aes-public .fact b,.aes-public .courseFact b{font-size:16px}.aes-public .profileProgram{gap:16px}.aes-public .sideCTA a,.aes-public .applyBox a{font-size:16px;padding:14px}.aes-public .crumb,.aes-public .uniName{font-size:15px}.aes-public .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.aes-public .feeTable{font-size:15px}.aes-public table{max-width:100%;font-size:15px}.aes-public td,.aes-public th{overflow-wrap:anywhere}
.aes-public main :is(.aboutPage,.contactPage,.malaysiaPage,.servicesPage,.enquiryWrap,.agentPage){line-height:1.7}.aes-public main :is(.aboutPage,.contactPage,.malaysiaPage,.servicesPage) a{font-size:16px}.aes-public .aboutHero p{font-size:18px!important}.aes-public main .aboutPage span{font-size:12px}.aes-public main label{font-size:15px!important;line-height:1.5}.aes-public main textarea{min-height:120px}
footer{gap:18px;padding:40px max(24px,calc((100vw - 1240px)/2)) 105px}footer b{font-size:17px}footer p{font-size:14px!important;line-height:1.7}footer .aes-social-caption{font-size:11px}footer .aes-social-row .aes-social-link{font-size:15px;min-height:46px}
.aes-whatsapp{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:9998;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 20px;background:#087b50;color:#fff;border:2px solid #fff;border-radius:999px;box-shadow:0 5px 22px #123e3033;font-size:16px;line-height:1;font-weight:700;text-decoration:none}.aes-whatsapp svg{width:27px;height:27px;flex:none}.aes-whatsapp:hover{background:#086644;transform:translateY(-2px)}.menuOpen .aes-whatsapp{visibility:hidden}.floatingStudentPortal{display:none!important}
.mobileMenuPanel[hidden]{display:none!important}.mobileMenuPanel .mobileMenuLinks a{font-size:17px;padding:17px 4px}.mobileMenuPanel .mobileMenuActions a{font-size:16px;padding:15px}.mobileMenuPanel .mobileMenuTop strong{font-size:15px}
@media(max-width:1279px){header>nav,header>.enquire{display:none!important}header .brand{flex:1;min-width:0}.mobileMenuBtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:46px;height:46px;margin-left:auto;border:0;background:transparent;flex:none}.mobileMenuBtn span{width:24px;height:2px;background:#fff!important}.mobileMenuPanel{display:block;position:fixed;z-index:20000;right:0;top:0;width:min(420px,100%);height:100dvh;overflow:auto;overscroll-behavior:contain;background:#f8fcfa;padding:0 24px 30px;box-shadow:-12px 0 50px #102e2833;transform:translateX(105%)}.mobileMenuPanel.open{transform:none}.mobileMenuTop{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.mobileMenuClose{font-size:36px;background:transparent;border:0;width:48px;height:48px}.mobileMenuLinks{display:flex!important;flex-direction:column;gap:0;margin:8px 0 24px}.mobileMenuLinks a{border-bottom:1px solid var(--line)}.mobileMenuActions{display:grid;gap:12px}.mobileEnquire{background:var(--g);color:#fff;border-radius:10px;text-align:center}.mobilePortal{border:1px solid var(--g);border-radius:10px;text-align:center}body.menuOpen{overflow:hidden}.aes-public .searchbar{grid-template-columns:1fr 1fr}.aes-public .searchbar .searchbox{grid-column:1/-1}}
@media(max-width:900px){.aes-public .catalogue,.aes-public .profileBody,.aes-public .courseGrid{grid-template-columns:minmax(0,1fr)}.catalogueFilters{position:static}.catalogueFilters>summary{display:list-item;cursor:pointer;font-size:16px;font-weight:700;background:#f0f8f4;border:1px solid var(--line);border-radius:12px;padding:14px 18px}.catalogueFilters>aside{margin-top:12px}.aes-public .sideCTA,.aes-public .applyBox{position:static}.aes-public .universities #uniGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){:root{--aes-header-h:76px}header{height:76px!important;min-height:76px;padding:0 18px;gap:12px}header .brand{max-width:none;padding:0;overflow:visible;gap:10px}header .brand img{width:43px;height:43px;flex-basis:43px}header .brand div{overflow:visible}header .brand b{font-size:14px!important;white-space:normal!important;line-height:1.3}header .brand small{display:block!important;font-size:10px!important;white-space:normal!important;margin-top:3px}.mobileMenuBtn{width:44px;height:44px;flex-basis:44px}.mobileMenuPanel{width:100%}.mobileMenuTop{height:76px}.aes-public .intro{padding:32px 20px 22px}.aes-public .intro h1{font-size:34px;line-height:1.18}.aes-public p{font-size:16px!important;line-height:1.7!important}.aes-public .searchbar{padding:0 20px 24px;grid-template-columns:1fr 1fr}.aes-public .searchbox,.aes-public .customSelect{grid-column:1/-1}.aes-public .searchbar select{grid-column:1/-1}.aes-public .catalogue{padding:24px 20px 48px}.aes-public .programCard{grid-template-columns:minmax(0,1fr)}.aes-public .programMain{padding:20px;gap:12px;grid-template-columns:42px minmax(0,1fr)}.aes-public .cardLogo{width:42px;height:42px}.aes-public .feePanel{border-left:0;border-top:1px solid var(--line)}.aes-public .resultHead{display:block}.aes-public .resultHead select{width:100%;margin-top:12px;max-width:100%}.aes-public .universities #uniGrid{grid-template-columns:minmax(0,1fr);gap:16px}.aes-public .directoryOnly{padding:24px 20px 48px}.aes-public .directorySearchRow{align-items:stretch}.aes-public .directorySearchRow input{flex:none;width:100%;height:52px}.aes-public .uniCard{padding:22px}.aes-public .profileHero{grid-template-columns:64px minmax(0,1fr);padding:30px 20px;gap:16px}.aes-public .profileLogo{width:64px;height:64px}.aes-public .profileHero h1{font-size:27px}.aes-public .profileBody,.aes-public .courseGrid{padding:24px 20px 50px;gap:20px}.aes-public .profileProgram{grid-template-columns:minmax(0,1fr)}.aes-public .facts,.aes-public .courseFacts{grid-template-columns:1fr}.aes-public .courseHero{padding:30px 20px}.aes-public .courseUniBrand{gap:12px}.aes-public .courseUniBrand h1{font-size:29px}.aes-public .panel,.aes-public .coursePanel{padding:20px}.aes-public .aboutPage{padding:28px 20px 48px}.aes-public .aboutHero{padding:26px 22px;border-radius:18px}.aes-public .aboutHero h1{font-size:32px}.aes-public .aboutHero p{font-size:17px!important}.aes-public .aboutGrid article{padding:22px}.aes-public .aes-connect{padding:24px 20px;gap:20px}footer{padding:32px 20px 104px;gap:14px}footer>img{width:46px;height:46px}footer>div:not(.aes-footer-social){flex:1;min-width:0}footer p{overflow-wrap:anywhere}.aes-whatsapp{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:52px;padding:11px 16px;font-size:15px}.aes-public .mobileMenuPanel .mobileMenuLinks a{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Contain long email addresses and dynamically populated fee labels. */
.aes-public main :is(article,section,aside,div){min-width:0}
.aes-public .contactCard h2,.aes-public .contactCard a{overflow-wrap:anywhere}
.aes-public .profileProgram b{font-size:18px!important;line-height:1.4}
.aes-public .facts .fact,.aes-public .profileHero p{font-size:16px!important}
@media(max-width:620px){.aes-public .contactPage{padding:34px 20px 48px}.aes-public .contactCard{padding:22px;border-radius:16px}.aes-public .contactCard h2{font-size:23px}.aes-public .contactHero h1{font-size:34px;line-height:1.2}.aes-public .studentBox{padding:22px}.aes-public .contactGrid{grid-template-columns:minmax(0,1fr)}}
.aes-public main a{font-size:16px!important}
.aes-public .lifeTags b,.aes-public .progressHead,.aes-public .progressHead b,.aes-public .progressHead span,.aes-public .reviewGroup b{font-size:14px!important;line-height:1.5}
.aes-public .lifeTags{display:flex;gap:10px;flex-wrap:wrap}
.aes-public .malaysiaHero p,.aes-public .malaysiaLife p{color:#53675f}
/* November audit: accessibility, public forms and consistent controls. */
.skip-link{position:fixed;top:-100px;left:16px;z-index:30000;background:#fff;color:#123e30;padding:12px 18px;border:2px solid #087b50;border-radius:8px}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #087b50;outline-offset:4px}
.aes-public button,.aes-public input,.aes-public select,.aes-public textarea{font-family:Arial,sans-serif}
.aes-public input,.aes-public select,.aes-public textarea{font-size:16px!important}
.aes-load-more,.aes-submit-whatsapp{display:block;width:100%;padding:15px 20px;border-radius:12px;border:1px solid #087b50;background:#087b50;color:white;text-align:center;font:700 16px Arial,sans-serif;cursor:pointer;text-decoration:none}.aes-load-more[hidden]{display:none}
.submission-status{padding:20px;border:1px solid #cfe4da;border-radius:12px;margin-top:18px;background:#eff8f3}
.privacy-link{color:inherit;text-underline-offset:4px;font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.aes-public .appointmentGrid,.aes-public .agentGrid{min-width:0}
@media(max-width:620px){.aes-public .appointmentGrid,.aes-public .agentGrid,.aes-public .two,.aes-public .formRow{grid-template-columns:minmax(0,1fr)!important}.aes-public .appointmentPage,.aes-public .agentPage{padding:28px 20px 90px}.aes-public .appointmentCard,.aes-public .agentCard{padding:20px}.aes-public .appointmentHero h1{font-size:32px;line-height:1.2}}
.aes-public .wrap .hero p,.aes-public .wrap .side p,.aes-public .wrap #msg{font-size:16px;line-height:1.7}
.aes-public .wrap .panel button,.aes-public .agentPage button{font-size:16px;min-height:48px}
.aes-public .wrap .hero h1{font-size:clamp(30px,4vw,42px);line-height:1.2}
.aes-public .wrap{padding-top:36px}
@media(max-width:760px){.aes-public .wrap .layout{grid-template-columns:minmax(0,1fr)}.aes-public .wrap{padding:28px 20px 60px}.aes-public .wrap .panel{padding:20px}}
