@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800&display=swap");
:root{
 --purple:#635bff;--pink:#ff6f9f;--sky:#57c7f2;--green:#59c878;--yellow:#ffd85a;
 --ink:#25233b;--muted:#687087;--cream:#fffaf0;--lav:#f5f3ff;--white:#fff;
 --shadow:0 18px 50px rgba(48,40,100,.12);--radius:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Nunito,Arial,sans-serif;background:#fff;font-size:15px;line-height:1.7}
a{text-decoration:none;color:inherit}.container{width:min(1160px,92%);margin:auto}
.top{background:#292643;color:#fff;font-size:12px}.top .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #eee}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px}.brand img{width:54px;height:54px}.brand b{font:800 25px "Baloo 2";color:var(--purple);display:block;line-height:1}.brand small{font-size:10px;color:var(--muted)}
.menu{display:flex;align-items:center;gap:4px}
.menu>a,.menu button{
 border:0;background:transparent;padding:13px 15px;
 font:800 14px Nunito;color:var(--ink);cursor:pointer;
 white-space:nowrap;border-radius:999px;transition:.22s ease;
 position:relative
}
.menu>a:hover,.menu button:hover{color:var(--purple);background:#f3f1ff}
.menu>a:after,.dropdown>button:after{
 content:"";position:absolute;left:14px;right:14px;bottom:5px;
 height:2px;border-radius:4px;background:linear-gradient(90deg,var(--purple),var(--pink));
 transform:scaleX(0);transform-origin:center;transition:.22s ease
}
.menu>a:hover:after,.dropdown>button:hover:after{transform:scaleX(1)}
.dropdown{position:relative}
.dropdown>button{padding-right:13px}
.dropdown>button .chevron{font-size:9px;margin-left:3px}
.dropdown-panel{
 display:none;position:absolute;z-index:1000;top:calc(100% + 12px);left:50%;
 transform:translateX(-50%);width:225px;padding:9px;
 background:rgba(255,255,255,.98);border:1px solid #ebe9f8;
 border-radius:18px;box-shadow:0 22px 55px rgba(44,35,95,.18);
 animation:menuDrop .18s ease both
}
.dropdown-panel:before{
 content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;
 background:#fff;border-left:1px solid #ebe9f8;border-top:1px solid #ebe9f8;
 transform:translateX(-50%) rotate(45deg)
}
.dropdown:hover .dropdown-panel,.dropdown:focus-within .dropdown-panel{display:block}
.dropdown-panel a{
 display:flex;align-items:center;gap:9px;padding:12px 14px;
 border-radius:12px;font-size:14px;font-weight:800;color:var(--ink);
 transition:.18s ease
}
.dropdown-panel a:before{content:"✦";color:var(--pink);font-size:10px}
.dropdown-panel a:hover{
 background:linear-gradient(90deg,#f3f1ff,#fff1f6);
 color:var(--purple);padding-left:16px
}
@keyframes menuDrop{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
.mobile{display:none;border:0;background:linear-gradient(135deg,var(--purple),#8a70ef);color:#fff;
 border-radius:13px;padding:9px 12px;font-size:20px;cursor:pointer;
 box-shadow:0 8px 22px rgba(99,91,255,.28)}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#6558ee 0%,#8362ea 45%,#f06d9f 100%);color:#fff;min-height:620px;display:flex;align-items:center}
.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#fff1;right:-150px;top:-180px}.hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:#ffd85a22;left:-160px;bottom:-180px}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}
.kicker{display:inline-block;background:#ffffff1c;border:1px solid #ffffff44;padding:7px 13px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:1px}
.hero h1{font:800 clamp(54px,7vw,82px) "Baloo 2";line-height:.9;margin:18px 0}.hero h1 span{color:var(--yellow)}.hero p{max-width:600px;color:#f7f5ff;font-size:16px}
.buttons{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;font-weight:800;margin-top:17px}.primary{background:var(--yellow);color:#3a2d79}.ghost{background:#fff;color:var(--purple)}
.hero-art{position:relative}.hero-art img{width:100%;border-radius:32px;border:8px solid #ffffff30;box-shadow:0 25px 70px #271b5b55;animation:float 4s ease-in-out infinite}.bubble{position:absolute;background:#fff;color:var(--purple);font-weight:800;padding:10px 15px;border-radius:18px;box-shadow:0 12px 30px #0002}.b1{left:-20px;top:15%}.b2{right:-15px;bottom:12%;background:var(--yellow);color:#493a86}@keyframes float{50%{transform:translateY(-8px)}}

.section{padding:85px 0}.cream{background:var(--cream)}.lav{background:var(--lav)}.section-head{text-align:center;max-width:680px;margin:0 auto 42px}.eyebrow{color:var(--pink);font-size:11px;font-weight:900;letter-spacing:1.5px}.section h2{font:800 46px "Baloo 2";line-height:1.05;margin:8px 0 12px}.section h2 em{font-style:normal;color:var(--purple)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.school-photo{position:relative}.school-photo img{width:100%;border-radius:30px;box-shadow:var(--shadow)}.photo-tag{position:absolute;left:18px;bottom:18px;background:#fff;padding:9px 14px;border-radius:999px;font-size:12px;font-weight:900;box-shadow:0 10px 25px #0002}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.check{background:#fff;border-radius:15px;padding:12px;font-weight:800;box-shadow:0 8px 24px #0000000a}

.classes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.class-card{background:#fff;padding:24px;border-radius:24px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:.25s}.class-card:hover{transform:translateY(-7px)}.class-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--purple)}.class-card:nth-child(2):before{background:var(--pink)}.class-card:nth-child(3):before{background:var(--sky)}.class-card:nth-child(4):before{background:var(--green)}.emoji{font-size:38px}.class-card h3{font:800 24px "Baloo 2";margin:8px 0 2px}.class-card p{font-size:12px;color:var(--muted)}.more{color:var(--purple);font-weight:900;font-size:12px}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{padding:28px;border-radius:24px;text-align:center}.feature:nth-child(1){background:#fff5df}.feature:nth-child(2){background:#f2efff}.feature:nth-child(3){background:#eafaff}.feature:nth-child(4){background:#ecfff2}.feature .icon{font-size:38px}.feature h3{font:800 22px "Baloo 2";margin:6px}.feature p{font-size:12px;color:var(--muted)}

.band{padding:55px 0;background:linear-gradient(110deg,#2c2850,#6558ee);color:#fff}.band .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.band h2{font:800 42px "Baloo 2";line-height:1;margin:8px 0}.band p{color:#eee;margin:0}

.notice-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:35px}.notice-list{display:grid;gap:12px}.notice{background:#fff;border-radius:17px;padding:15px 18px;box-shadow:0 9px 28px #0000000c;font-size:13px}.notice b{color:var(--purple);margin-right:10px}.quote{background:#fff0f6;border-radius:28px;padding:35px;font:800 29px "Baloo 2";align-self:stretch}.quote small{display:block;font:700 12px Nunito;margin-top:15px;color:var(--muted)}

footer{background:#201e35;color:#cfd0dd;padding-top:48px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:40px;padding-bottom:35px}.footer-grid h2,.footer-grid h3{color:#fff}.footer-grid h2{font:800 28px "Baloo 2";margin:0}.footer-grid h3{font-size:16px}.footer-grid a,.footer-grid p{display:block;font-size:12px;margin:5px 0}.bottom{border-top:1px solid #ffffff1a;text-align:center;padding:15px;font-size:10px}.bottom b{color:#fff}

.page-hero{padding:70px 0;background:linear-gradient(120deg,#6558ee,#f06d9f);color:#fff}.page-hero h1{font:800 58px "Baloo 2";line-height:1;margin:6px 0}.page{padding:65px 0;min-height:480px}.card{background:#fff;border-radius:25px;box-shadow:var(--shadow);padding:30px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #eee;text-align:left;font-size:12px}.table th{background:var(--lav);color:var(--purple)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery img{width:100%;border-radius:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contactbox{background:var(--lav);padding:24px;border-radius:20px}
.reveal{opacity:0;transform:translateY(16px);transition:.7s}.reveal.show{opacity:1;transform:none}

@media(max-width:930px){.menu>a,.menu button{padding:11px 9px;font-size:13px}.classes,.features{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 .top .container{justify-content:center;text-align:center}.top .hide-mobile{display:none}
 .nav{position:relative}.mobile{display:block}.menu{display:none;position:absolute;left:0;right:0;top:76px;
 background:rgba(255,255,255,.99);flex-direction:column;align-items:stretch;padding:12px;
 border-radius:20px;box-shadow:0 20px 55px rgba(44,35,95,.18);border:1px solid #ebe9f8;
 max-height:calc(100vh - 90px);overflow:auto}
 .menu.open{display:flex}.menu>a,.menu button{text-align:left;width:100%;padding:13px 15px;font-size:14px}
 .menu>a:after,.dropdown>button:after{left:14px;right:auto;width:55px;bottom:5px}
 .dropdown-panel{position:static;display:none;transform:none;width:auto;box-shadow:none;border:0;
 border-left:3px solid var(--purple);border-radius:0;margin:3px 8px 7px;animation:none;padding:4px 7px}
 .dropdown-panel:before{display:none}.dropdown.open .dropdown-panel{display:block}
 .hero{min-height:700px}.hero .container{grid-template-columns:1fr}.hero-art{max-width:600px}.hero h1{font-size:58px}.two,.notice-wrap,.contact{grid-template-columns:1fr}.band .container{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.classes,.features,.footer-grid,.gallery,.cards{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.section h2{font-size:38px}.hero h1{font-size:49px}}

/* Premium navigation only */
@media(min-width:761px){
  .menu{background:#fff;border:1px solid #efedf8;padding:7px 8px;border-radius:999px;box-shadow:0 7px 22px rgba(48,40,100,.06)}
}

/* Larger premium navigation typography */
@media(min-width:761px){
  .menu>a,.menu button{font-size:14px;letter-spacing:.1px}
  .dropdown-panel a{font-size:14px}
}
@media(max-width:760px){
  .menu>a,.menu button{font-size:14px}
  .dropdown-panel a{font-size:13px}
}

/* Home Page Enquiry Form */
.enquiry-section{background:linear-gradient(135deg,#f7f5ff 0%,#fff7f1 100%)}
.enquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:stretch}
.enquiry-info{background:linear-gradient(145deg,#6558ee,#f06d9f);color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)}
.enquiry-info h2{font:800 42px "Baloo 2";line-height:1;margin:8px 0 14px}
.enquiry-info p{color:#f7f5ff;font-size:13px}
.enquiry-points{display:grid;gap:10px;margin-top:24px}
.enquiry-point{background:#ffffff1c;border:1px solid #ffffff30;border-radius:14px;padding:11px 13px;font-size:12px;font-weight:800}
.enquiry-form{background:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.enquiry-form h3{font:800 30px "Baloo 2";margin:0 0 4px;color:var(--ink)}
.enquiry-form>p{font-size:12px;color:var(--muted);margin-top:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-group{margin-bottom:13px}
.form-group label{display:block;font-size:11px;font-weight:900;margin-bottom:5px;color:var(--ink)}
.form-group input,.form-group select,.form-group textarea{
 width:100%;border:1px solid #e5e2f0;background:#faf9ff;border-radius:12px;
 padding:11px 12px;font:600 13px Nunito;color:var(--ink);outline:none;transition:.2s
}
.form-group textarea{min-height:92px;resize:vertical}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
 border-color:var(--purple);box-shadow:0 0 0 3px #635bff18;background:#fff
}
.form-submit{border:0;width:100%;padding:13px;border-radius:999px;background:linear-gradient(90deg,var(--purple),#8b70ed);color:#fff;font:800 14px Nunito;cursor:pointer;box-shadow:0 10px 25px #635bff30}
.form-note{font-size:10px!important;color:#8b8da0!important;text-align:center;margin:10px 0 0!important}
.form-success{display:none;margin-top:12px;padding:10px 12px;border-radius:11px;background:#ecfff2;color:#24824a;font-size:12px;font-weight:800}
@media(max-width:760px){.enquiry-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.enquiry-info h2{font-size:36px}}
