
:root{--bg:#080c19;--bg2:#0e1426;--surface:#141c31;--surface2:#19213a;--text:#f5f4fa;--muted:#9da7bd;--violet:#a891ff;--gold:#f4b724;--line:rgba(189,193,224,.14);--font:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,select{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.container{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:absolute;left:14px;top:-60px;padding:8px 12px;background:white;color:black;z-index:100}
.skip-link:focus{top:10px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--heading);line-height:1.18}
.site-header{position:sticky;top:0;background:rgba(8,12,25,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:30}
.nav-inner{height:84px;display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}
.brand-icon{width:52px;height:46px;object-fit:contain;display:block}
.brand-name{display:flex;flex-direction:column;gap:4px}
.brand-first{font:800 22px/1 var(--heading);letter-spacing:-1.2px;white-space:nowrap}
.brand-first b{color:var(--gold);font-weight:650}
.brand-second{font-size:10px;letter-spacing:.3em;color:#bcc5db;font-weight:700;line-height:1}
.desktop-nav{display:flex;gap:28px;margin-left:auto}
.desktop-nav a{color:#c1c6d6;font-size:13px;transition:color .2s}
.desktop-nav a:hover{color:white}
.nav-action{font-size:12px;color:var(--text);border:1px solid rgba(194,179,255,.4);padding:9px 14px;border-radius:100px;white-space:nowrap}
.nav-action span{color:var(--violet);margin-left:9px}
.menu-toggle,.mobile-nav{display:none}
.hero{min-height:590px;padding-top:108px;padding-bottom:100px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:50px}
.eyebrow,.section-label{display:block;font-size:10px;letter-spacing:.17em;font-weight:800;color:#b6a7fa;margin-bottom:20px}
.hero h1{font-size:clamp(55px,6vw,86px);letter-spacing:-.075em;line-height:1.12;margin-bottom:26px;white-space:nowrap}
.hero h1 em{font-style:normal;background:linear-gradient(100deg,#fff,#c2adff 65%,#a287ff);background-clip:text;-webkit-background-clip:text;color:transparent}
.motto{display:flex;flex-direction:column;gap:4px;margin-bottom:30px}
.motto strong{font-family:Georgia,serif;font-size:25px;font-style:italic;font-weight:400;color:#d6c7ff}
.motto span{color:var(--muted);font-size:14px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{border-radius:40px;padding:13px 21px;min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:13px;font-weight:750;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:linear-gradient(110deg,#bdacff,#a087f5);color:#100d24}
.button-secondary{border:1px solid rgba(194,185,231,.35);color:#e5e1f5}
.button-secondary:hover{background:#1a2036}
.hero-address{display:inline-flex;align-items:center;gap:9px;margin-top:36px;color:#b6bdd1;font-size:12px}
.hero-address>span:first-child{color:var(--gold);font-size:22px}
.hero-address>span:last-child{color:var(--violet)}
.hero-address:hover{color:#fff}
.hero-mark{min-height:345px;display:flex;justify-content:center;align-items:center;position:relative}
.hero-mark::before{content:'';position:absolute;inset:3% 4%;border-radius:50%;background:radial-gradient(circle,#e9e4f8 0%,#bdb7e1 29%,#424464 61%,rgba(22,20,49,0) 76%);filter:drop-shadow(0 12px 44px rgba(83,70,140,.35))}
.hero-mark img{display:block;width:min(100%,340px);height:auto;position:relative;filter:drop-shadow(0 14px 20px rgba(5,11,35,.18))}
.section{padding:92px 0}
.section-intro{margin-bottom:30px;max-width:730px}
.section-intro h2,.location-card h2,.values-inner h2{font-size:clamp(32px,4vw,46px);letter-spacing:-.045em;margin-bottom:12px}
.section-intro p{color:var(--muted);font-size:14px;margin:0}
.programmes{border-top:1px solid var(--line);background:linear-gradient(#0e1325,#0c1120)}
.programme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.programme-group{border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#1b2038,#11182b);padding:32px;min-height:245px}
.programme-level{color:#b4a2f5;font-weight:800;font-size:10px;letter-spacing:.15em}
.programme-group h3{font-size:24px;margin:18px 0 11px;letter-spacing:-.03em}
.programme-group p{font-size:13px;color:#abb3c9;line-height:1.85;max-width:480px;margin-bottom:18px}
.programme-group a{color:#d6caff;font-size:12px;font-weight:800}
.programme-group a:hover{text-decoration:underline;text-underline-offset:4px}
.schedule-section{background:#080c19}
.timetable{border:1px solid var(--line);border-radius:17px;background:#111829;overflow:hidden}
.schedule-controls{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:20px 22px;flex-wrap:wrap}
.level-tabs{display:flex;gap:6px;flex-wrap:wrap}
.level-tab{padding:8px 13px;font-size:12px;color:#b9bad0;border:1px solid #343754;background:transparent;border-radius:9px}
.level-tab.active{background:#b8a5ff;border-color:#b8a5ff;color:#130f24;font-weight:800}
.day-filter{display:flex;align-items:center;gap:10px;font-size:12px;color:#b5b0cc}
.day-filter select{padding:8px 12px;background:#1d253a;color:white;border:1px solid #414561;border-radius:9px}
.schedule-status{padding:11px 22px 17px;display:flex;align-items:baseline;gap:12px;color:#9d9ab6;font-size:12px}
.schedule-status strong{font-size:16px;color:#f2f0f8}
.class-heading,.class-row{display:grid;grid-template-columns:1.25fr 1.6fr .9fr .72fr;gap:15px;align-items:center}
.class-heading{padding:14px 22px;border-block:1px solid var(--line);color:#7f8aa3;font-size:10px;letter-spacing:.1em;font-weight:800}
.class-heading span:last-child{text-align:right}
.class-row{padding:17px 22px;border-bottom:1px solid rgba(189,193,224,.1);min-height:82px}
.class-row:last-child{border-bottom:0}
.class-subject{font-size:13px;color:#faf7ff;font-weight:750}
.class-when{display:flex;flex-direction:column;gap:3px;line-height:1.4}
.class-day{font-size:13px;color:#f3f0f8;font-weight:700}
.class-time{color:#acb4cc;font-size:12px}
.class-duration{color:#bdaaef;font-size:10.5px;margin-top:4px}
.class-tutor{font-size:12px;color:#adb3c9}
.class-price{text-align:right;color:#ddccff;font-size:14px;font-weight:800;white-space:nowrap}
.schedule-empty{text-align:center;color:#aab2ca;padding:30px 15px;font-size:13px}
.schedule-note{font-size:11px;color:#8590ac;padding:18px 22px;border-top:1px solid var(--line)}
.fee-section{background:linear-gradient(#0d1221,#0c1020);border-top:1px solid var(--line)}
.fee-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}
.fee-table-shell,.fee-small-card{background:#151d31;border:1px solid var(--line);border-radius:14px}
.fee-table-shell{padding:9px 22px}
.fee-table{width:100%;border-collapse:collapse;font-size:13px}
.fee-table th,.fee-table td{padding:14px 8px;border-bottom:1px solid var(--line);text-align:left}
.fee-table thead th{color:#9aa6c1;font-size:10px;letter-spacing:.04em;font-weight:800}
.fee-table tbody th{font-weight:650;color:#ececf7;white-space:nowrap}
.fee-table tbody td{color:#d6caff}
.fee-table tr:last-child td,.fee-table tr:last-child th{border-bottom:0}
.fee-footnote{font-size:11px;color:#8d9ab2;margin:9px 0 13px;line-height:1.7}
.fee-aside{display:flex;flex-direction:column;gap:16px}
.fee-small-card{padding:22px}
.fee-small-card h3{font-size:16px;letter-spacing:-.02em;margin-bottom:14px}
.discount-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;color:#b5bdd1}
.discount-line:last-child{border-bottom:0}
.discount-line strong{color:#e7d9ff;font-size:14px;white-space:nowrap}
.offer-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:18px;padding:23px 27px;border-radius:14px;background:rgba(143,110,235,.12);border:1px solid rgba(169,142,255,.26)}
.offer-label{font-size:10px;color:#c5b7fa;letter-spacing:.13em;font-weight:800}
.offer-strip p{font-size:12px;color:#bac0d5;margin:7px 0 0;line-height:1.65}
.offer-strip p strong{color:#f4efff}
.offer-saving{color:#e4d6ff;border:1px solid rgba(203,180,255,.31);font-size:12px;font-weight:800;padding:10px 15px;border-radius:24px;white-space:nowrap}
.values-section{padding:44px 0;background:#11182a;border-block:1px solid var(--line)}
.values-inner{display:flex;justify-content:space-between;align-items:center;gap:38px}
.values-inner .section-label{margin-bottom:9px}
.values-inner h2{font-size:26px;margin:0}
.values-inner p{font-size:13px;color:#abb4c9;line-height:1.8;max-width:460px;margin:0}
.location-section{padding-block:94px}
.location-card{display:flex;align-items:center;justify-content:space-between;gap:26px;background:linear-gradient(125deg,#1a2038,#111728);border:1px solid var(--line);padding:38px 42px;border-radius:17px}
.location-card .section-label{margin-bottom:10px}
.location-card h2{font-size:30px}
.location-card p{color:#bac0d5;line-height:1.7;margin:0}
.site-footer{border-top:1px solid var(--line);padding:26px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-motto{font:italic 16px Georgia,serif;color:#c5b5f7}
.copyright{color:#7d869e;font-size:11px}
@media(max-width:940px){.desktop-nav,.nav-action{display:none}.menu-toggle{margin-left:auto;width:42px;height:42px;border:1px solid #393a58;background:transparent;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}.menu-toggle span{width:19px;height:2px;background:#ebe6fb;border-radius:4px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:12px 30px 22px;gap:0;background:#101526;border-top:1px solid var(--line)}.mobile-nav a{padding:12px 0;font-size:14px;color:#ddd7f3;border-bottom:1px solid var(--line)}.hero{gap:12px}.hero h1{font-size:clamp(48px,6.3vw,70px)}}
@media(max-width:680px){html{scroll-padding-top:80px}.container{width:calc(100% - 36px)}.nav-inner{height:75px}.brand-icon{width:45px;height:40px}.brand-first{font-size:19px}.brand-second{font-size:9px}.hero{display:flex;flex-direction:column;padding-top:67px;padding-bottom:55px;align-items:stretch;min-height:0}.hero h1{font-size:clamp(49px,10.5vw,66px);white-space:normal;line-height:1.14}.eyebrow{font-size:9px}.motto strong{font-size:23px}.hero-mark{min-height:235px;margin-top:20px}.hero-mark img{width:255px}.hero-mark::before{inset:0 10%;}.hero-address{font-size:11px;margin-top:25px}.section{padding:65px 0}.section-intro{margin-bottom:24px}.section-intro h2{font-size:33px}.programme-grid,.fee-layout{grid-template-columns:1fr}.programme-group{min-height:0;padding:25px}.programme-group h3{font-size:21px}.timetable{border-radius:12px}.schedule-controls{padding:17px 14px 8px}.level-tab{padding:8px 11px}.schedule-status{padding:12px 15px}.class-heading{display:none}.class-row{grid-template-columns:1fr auto;gap:10px 15px;padding:16px;border-bottom:1px solid var(--line)}.class-subject{grid-column:1;grid-row:1}.class-price{grid-column:2;grid-row:1}.class-when{grid-column:1;grid-row:2}.class-tutor{grid-column:2;grid-row:2;text-align:right;align-self:start}.schedule-note{padding:13px 16px}.fee-table-shell{padding:7px 10px}.fee-table{font-size:12px}.fee-table th,.fee-table td{padding:13px 7px}.fee-table thead th{font-size:9px}.fee-footnote{padding:0 6px}.offer-strip{padding:20px;display:block}.offer-saving{display:inline-block;margin-top:15px}.values-inner{display:block}.values-inner p{margin-top:15px}.location-section{padding-block:65px}.location-card{padding:28px 23px;align-items:start;flex-direction:column}.location-card h2{font-size:27px}.site-footer{padding:28px 0}.footer-inner{align-items:flex-start;flex-direction:column;gap:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* astra core education — corporate-blue light theme */
:root{color-scheme:light;--bg:#f7faff;--bg2:#eaf2fc;--surface:#ffffff;--surface2:#edf4fd;--text:#16365e;--muted:#556b88;--violet:#2359a0;--gold:#bb850b;--line:rgba(35,79,142,.16)}
body{background:var(--bg);color:var(--text)}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid #dce6f3;box-shadow:0 3px 16px rgba(27,67,122,.045)}
.brand-first{color:#173e77}.brand-first b{color:#bb850b}.brand-second{color:#5273a3}
.desktop-nav a{color:#35547c}.desktop-nav a:hover{color:#12417e}
.nav-action{color:#194d91;border:1px solid #b7cce7;background:#f7faff;font-weight:700}
.nav-action:hover{background:#e6f0fb}.nav-action span{color:#bb850b}
.hero{background:transparent}
.eyebrow,.section-label{color:#1e569f}
.hero h1{color:#142f57}
.hero h1 em{background:linear-gradient(105deg,#204d90 0%,#377ac0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.motto strong{color:#205192}.motto span{color:#526d8c}
.button-primary{background:linear-gradient(115deg,#214f95,#2d66b4);color:#fff;box-shadow:0 10px 22px rgba(32,79,146,.18)}
.button-primary:hover{background:linear-gradient(115deg,#19427e,#255ca5);box-shadow:0 13px 26px rgba(32,79,146,.25)}
.button-secondary{background:#fff;border:1px solid #c5d4e9;color:#214b81}
.button-secondary:hover{background:#edf4fc}
.hero-address{color:#435e80}.hero-address>span:first-child{color:#bd8a0b}.hero-address>span:last-child{color:#2764a8}.hero-address:hover{color:#174b94}
.hero-mark::before{background:radial-gradient(circle,#fff 0%,#e6effb 37%,rgba(212,230,250,.6) 59%,rgba(247,250,255,0) 78%);filter:none}
.hero-mark img{filter:drop-shadow(0 12px 18px rgba(28,68,116,.12))}
.programmes{background:#eef5fd;border-top:1px solid #e0eaf7}
.programme-group{background:#fff;border-color:#d9e5f4;box-shadow:0 7px 26px rgba(31,70,120,.045)}
.programme-level{color:#2460a6}.programme-group h3{color:#153c72}.programme-group p{color:#536c8c}.programme-group a{color:#1b5ca4}
.schedule-section{background:#f7faff}
.timetable{background:#fff;border-color:#d9e4f2;box-shadow:0 8px 28px rgba(29,68,113,.045)}
.level-tab{color:#2b548b;border-color:#cbd9ea;background:#f6f9fe}
.level-tab:hover{background:#e7f1fb}
.level-tab.active{background:#205494;border-color:#205494;color:#fff}
.day-filter{color:#425d7e}
.day-filter select{background:#fff;color:#234771;border-color:#c9d8e9}
.schedule-status{color:#58708d}.schedule-status strong{color:#173f78}
.class-heading{background:#edf4fc;color:#4a6485;border-block-color:#dbe6f3}
.class-row{background:#fff;border-bottom-color:#e3eaf4}
.class-row:hover{background:#f8fbff}
.class-subject{color:#183f76}.class-day{color:#234771}
.class-time,.class-tutor{color:#586f8d}.class-duration{color:#3265a2}
.class-price{color:#154c91}.schedule-empty,.schedule-note{color:#536e8e}
.fee-section{background:#edf4fc;border-top:1px solid #dce7f4}
.fee-table-shell,.fee-small-card{background:#fff;border-color:#d7e3f1;box-shadow:0 5px 20px rgba(28,72,121,.035)}
.fee-table thead th{color:#41648e}.fee-table tbody th{color:#1b3f71}.fee-table tbody td{color:#1d5397}
.fee-footnote{color:#58708f}.discount-line{color:#526a86}.discount-line strong{color:#1a4b8b}
.offer-strip{background:linear-gradient(115deg,#fff8e7,#f4f8fe);border-color:#ebd8a5}
.offer-label{color:#8f6203}.offer-strip p{color:#4d6381}.offer-strip p strong{color:#183f74}
.offer-saving{color:#825703;border-color:#d5b468;background:#fffaf0}
.values-section{background:#e5effa;border-block-color:#d4e1f1}
.values-inner h2{color:#1b467e}.values-inner p{color:#476380}
.location-section{background:#f7faff}
.location-card{background:linear-gradient(118deg,#e5f0fd,#f9fcff);border-color:#d2e1f3;box-shadow:0 10px 30px rgba(30,77,131,.045)}
.location-card h2{color:#183d73}.location-card p{color:#455f80}
.site-footer{background:#edf4fc;border-top:1px solid #d6e4f2}
.footer-motto{color:#29558f}.copyright{color:#607490}
@media(max-width:940px){
.menu-toggle{border-color:#bdcde2;background:#fff}
.menu-toggle span{background:#1d508e}
.mobile-nav:not([hidden]){background:#fff;border-top:1px solid #e1e9f4;box-shadow:0 12px 25px rgba(25,63,110,.08)}
.mobile-nav a{color:#254f85}
.mobile-nav a:hover{color:#123b77;background:#f1f6fd}
}

/* Timetable readability boost — 27 October 2026 */
/* Larger, clearer timetable typography across desktop and mobile */
.level-tab{font-size:14px;font-weight:650;padding:10px 15px}
.day-filter{font-size:14px;font-weight:650}
.day-filter select{font-size:14px;padding:10px 13px}
.schedule-status{font-size:14px;padding:15px 23px 17px}
.schedule-status strong{font-size:19px}
.class-heading,.class-row{grid-template-columns:minmax(0,1.35fr) minmax(0,1.6fr) minmax(0,.85fr) minmax(0,.75fr);gap:14px}
.class-heading{font-size:12px;letter-spacing:.075em;padding:16px 23px}
.class-row{padding:21px 23px;min-height:103px}
.class-subject{font-size:16px;line-height:1.35}
.class-when{gap:5px;line-height:1.45}
.class-day{font-size:15px}
.class-time{font-size:14px}
.class-duration{font-size:12px;margin-top:4px}
.class-tutor{font-size:14px;line-height:1.5}
.class-price{font-size:17px}
.schedule-note{font-size:13px;line-height:1.6}
.schedule-empty{font-size:15px}
@media(max-width:900px){
 .class-heading{display:none}
 .class-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 17px;padding:19px 18px}
 .class-subject{grid-column:1;grid-row:1}
 .class-price{grid-column:2;grid-row:1}
 .class-when{grid-column:1;grid-row:2}
 .class-tutor{grid-column:2;grid-row:2;text-align:right;align-self:start}
}
@media(max-width:680px){
 .level-tab{font-size:13px;padding:9px 12px}
 .day-filter,.day-filter select{font-size:13px}
 .schedule-status{padding:14px 16px;font-size:13px}
 .schedule-status strong{font-size:17px}
 .class-row{padding:18px 16px;min-height:0}
 .class-subject{font-size:16px}
 .class-day{font-size:15px}
 .class-time,.class-tutor{font-size:14px}
 .class-duration{font-size:12px}
 .class-price{font-size:17px}
 .schedule-note{font-size:12px}
}

/* Timetable font refinement — slightly larger */
/* Modest +1 px increase, retaining the existing responsive spacing */
.level-tab{font-size:15px}
.day-filter,.day-filter select{font-size:15px}
.schedule-status{font-size:15px}
.schedule-status strong{font-size:20px}
.class-heading{font-size:13px}
.class-subject{font-size:17px}
.class-day{font-size:16px}
.class-time{font-size:15px}
.class-duration{font-size:13px}
.class-tutor{font-size:15px}
.class-price{font-size:18px}
.schedule-note{font-size:14px}
@media(max-width:680px){
 .level-tab{font-size:14px}
 .day-filter,.day-filter select{font-size:14px}
 .schedule-status{font-size:14px}
 .schedule-status strong{font-size:18px}
 .class-subject{font-size:17px}
 .class-day{font-size:16px}
 .class-time,.class-tutor{font-size:15px}
 .class-duration{font-size:13px}
 .class-price{font-size:18px}
 .schedule-note{font-size:13px}
}

/* Pricing typography aligned with timetable */
/* Match the enlarged 17px/18px timetable text and use the same typeface. */
.fee-table,.discount-line,.fee-footnote,.offer-strip p,.offer-saving{font-family:var(--font)}
.fee-table{font-size:17px;line-height:1.5}
.fee-table th,.fee-table td{padding:17px 9px}
.fee-table thead th{font-size:13px;line-height:1.45;letter-spacing:.055em}
.fee-table tbody th{font-size:17px;line-height:1.5}
.fee-table tbody td{font-size:18px;font-weight:800;line-height:1.45}
.fee-small-card{padding:25px}
.fee-small-card h3{font-size:20px;line-height:1.35;margin-bottom:17px}
.discount-line{font-size:17px;line-height:1.55;padding:12px 0;gap:18px}
.discount-line strong{font-size:18px;font-weight:800}
.fee-footnote{font-size:14px;line-height:1.7}
.offer-label{font-size:13px}
.offer-strip p{font-size:15px;line-height:1.7}
.offer-saving{font-size:18px}
@media(max-width:680px){
 .fee-table-shell{overflow-x:auto}
 .fee-table{font-size:17px;min-width:410px}
 .fee-table th,.fee-table td{padding:15px 8px}
 .fee-table thead th{font-size:12px;white-space:normal}
 .fee-table tbody th{font-size:16px;white-space:normal}
 .fee-table tbody td{font-size:18px}
 .fee-small-card h3{font-size:19px}
 .discount-line{font-size:17px}
 .discount-line strong{font-size:18px}
 .fee-footnote{font-size:13px}
 .offer-strip p{font-size:15px}
 .offer-saving{font-size:18px}
}
