:root{--paper:#f7f5ef;--ink:#202723;--green:#234b3d;--muted:#69736c;--line:#deded4;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.topbar{height:83px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(32,39,35,.09)}.brand{display:inline-flex;align-items:center;gap:11px;font:800 13px var(--display);letter-spacing:.1em}.brand small{display:block;font:600 8px var(--sans);letter-spacing:.18em;color:#768078;margin-top:3px}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#f9f7ef;font:700 20px var(--serif);position:relative}.brand-mark span{font:600 9px var(--sans);color:#d6b77c;position:absolute;right:7px;top:6px}.desktop-nav{display:flex;gap:39px;font-size:13px;color:#59635d}.desktop-nav a:hover,.text-link:hover{color:#b16d4d}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 19px;border:0;border-radius:2px;font-size:12px;font-weight:600;transition:.2s}.button span{font-size:15px}.button-dark{background:var(--green);color:white}.button-dark:hover{background:#17372c;transform:translateY(-1px)}.button-light{background:#f6f0e4;color:var(--green)}.button-outline{padding:10px 14px;background:transparent;border:1px solid var(--line);color:var(--ink)}.top-login{padding:12px 16px}.menu-toggle{display:none;border:0;background:none;font-size:22px}.hero{min-height:560px;padding:66px 7.2% 56px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:4%}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;color:#758078;text-transform:uppercase;display:flex;align-items:center;gap:9px}.live-dot{height:7px;width:7px;background:#b57350;border-radius:50%;box-shadow:0 0 0 4px #b573501a}.hero h1,.section h2,.teacher-copy h2,.contact-copy h2{font:500 clamp(48px,5.7vw,77px)/1.08 var(--serif);letter-spacing:-.045em;margin:24px 0 18px}.hero h1 em,.section h2 em,.teacher-copy h2 em,.contact-copy h2 em,.modal h2 em,.portal-sidebar h2 em{font-weight:400;color:#a26348}.hero-lede{font-size:15px;line-height:1.8;color:#68716b;max-width:440px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:29px}.text-link{font-size:12px;font-weight:700;color:#425449}.text-link span{margin-left:7px;font-size:15px}.hero-facts{display:flex;align-items:center;gap:23px;margin-top:57px}.hero-facts div{display:grid;gap:4px}.hero-facts strong{font:600 19px var(--display);color:var(--green)}.hero-facts span{font-size:10px;color:#818981}.hero-facts i{height:32px;width:1px;background:var(--line)}.hero-art{height:414px;max-width:570px;width:100%;justify-self:end;background:#e9e4d5;position:relative;overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#5266590e 1px,transparent 1px),linear-gradient(90deg,#5266590e 1px,transparent 1px);background-size:37px 37px}.sun{position:absolute;width:175px;height:175px;border-radius:50%;background:#d5a275;right:78px;top:35px}.orbit{position:absolute;border:1px solid #49615340;border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:410px;height:175px;right:0;top:103px}.orbit-two{width:440px;height:250px;right:34px;top:54px;transform:rotate(34deg)}.book{position:absolute;display:flex;align-items:center;justify-content:flex-start;writing-mode:vertical-rl;letter-spacing:.17em;font:700 9px var(--sans);box-shadow:8px 9px 0 #29372a24}.book-back{height:165px;width:65px;background:#667d6b;right:81px;bottom:87px;transform:rotate(13deg);color:#eff1e4;padding:17px}.book-mid{height:200px;width:76px;background:#c57f5b;right:169px;bottom:62px;transform:rotate(-8deg);color:#fff5e8;padding:18px}.book-front{height:144px;width:73px;background:#e1c17c;right:248px;bottom:71px;transform:rotate(-18deg);color:#4b523f;padding:17px}.spark{position:absolute;color:#f8f2e2}.spark-a{font-size:35px;top:52px;left:65px}.spark-b{font-size:23px;right:50px;top:149px}.art-note{position:absolute;left:40px;bottom:55px;font:italic 17px/1.4 var(--serif);color:#4e5f53}.art-tag{position:absolute;top:22px;right:22px;font-size:8px;letter-spacing:.15em;color:#65756a}.ticker{height:55px;background:#e5e8df;display:flex;justify-content:space-around;align-items:center;padding:0 5%;font-size:9px;letter-spacing:.18em;font-weight:700;color:#596c5d}.ticker b{color:#a86a4d;font-size:14px}.section{padding:112px 7.2%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px}.section h2,.teacher-copy h2{font-size:51px;margin:16px 0 0}.section-head>p{max-width:390px;margin:0 0 7px;color:#717a73;font-size:13px;line-height:1.8}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:47px}.program-card{min-height:263px;padding:25px 27px 23px;position:relative;overflow:hidden}.peach{background:#f0e4d8}.lilac{background:#e6e4ed}.mint{background:#e2e9df}.card-index{font-size:9px;letter-spacing:.16em;color:#718077}.subject-icon{position:absolute;top:48px;right:27px;font:34px var(--serif);color:#718077}.program-card h3{font:500 31px var(--serif);margin:37px 0 9px}.program-card p{font-size:12px;line-height:1.7;color:#69716c;max-width:280px;margin:0}.grade-pill{display:inline-block;margin-top:19px;padding:7px 11px;border:1px solid #79867944;border-radius:20px;font-size:9px;color:#5d6b60}.teacher-section{background:#ece8dd;padding:89px 11%;display:grid;grid-template-columns:.92fr 1.08fr;gap:11%;align-items:center}.teacher-art{height:340px;background:#d6d5c4;position:relative;display:grid;place-items:center;overflow:hidden}.teacher-art:before,.teacher-art:after{content:'';position:absolute;border:1px solid #59685144;border-radius:50%;width:290px;height:290px}.teacher-art:after{width:230px;height:230px}.teacher-orbit{position:absolute;width:340px;height:120px;border:1px solid #6b775347;border-radius:50%;transform:rotate(-40deg)}.teacher-initial{height:154px;width:154px;display:grid;place-items:center;border-radius:50%;background:#b97555;color:#f5e9d7;font:italic 89px var(--serif);z-index:1}.teacher-initial span{font-size:30px;color:#e5c27c}.teacher-caption{position:absolute;bottom:18px;left:19px;font-size:8px;letter-spacing:.15em;color:#566559}.teacher-star{position:absolute;right:37px;top:33px;color:#a66f52;font-size:24px}.teacher-copy h2{font-size:47px}.teacher-copy>p{font-size:13px;line-height:1.9;color:#727970;max-width:490px;margin:19px 0 22px}.credential{display:flex;align-items:center;gap:12px;margin-bottom:23px}.credential-icon{height:37px;width:37px;display:grid;place-items:center;border-radius:50%;background:#d5d9cb;color:#59705f}.credential b,.credential small{display:block}.credential b{font-size:12px}.credential small{font-size:10px;color:#798179;margin-top:4px}.quote-section{text-align:center;padding:86px 7%;background:#f8f6f0}.quote-mark{font:88px/0.8 var(--serif);color:#c38b66}.quote-section blockquote{font:italic 36px/1.3 var(--serif);margin:15px 0 23px}.quote-rule{height:1px;width:40px;background:#a66f52;margin:0 auto 14px}.quote-section>span{font-size:8px;letter-spacing:.19em;color:#7a837b}.contact-section{padding:86px 11%;background:#294a3d;color:#f4f1e7;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-section .eyebrow{color:#b2c0af}.contact-copy h2{font-size:60px;margin:16px 0}.contact-copy h2 em{color:#d9b47b}.contact-copy p{font-size:13px;line-height:1.8;color:#c5cec4;max-width:350px;margin:0 0 23px}.contact-details{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:35px 28px;padding:15px 0}.contact-item{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.contact-item small{font-size:8px;letter-spacing:.15em;color:#a8baaa}.contact-item strong{font:500 17px/1.35 var(--serif)}.contact-item span,.inline-button{font-size:10px;color:#c2cec4}.inline-button{border:0;padding:0;background:none;color:#e3c188;text-align:left}.contact-flower{position:absolute;right:4px;bottom:2px;font-size:35px;color:#bb9563}footer{padding:25px 7.2%;display:flex;align-items:center;justify-content:space-between;color:#7a837a;font-size:10px}.footer-brand{color:var(--ink);font-size:11px}.footer-brand .brand-mark{width:32px;height:32px;font-size:17px}.footer-brand small{font-size:7px}.modal{border:0;padding:39px 42px 34px;width:min(440px,calc(100% - 32px));background:#faf8f2;color:var(--ink);box-shadow:0 25px 90px #12201645;position:fixed}.modal::backdrop{background:#17291f99;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:26px;color:#69746c}.modal-brand{margin-bottom:26px}.modal h2{font:500 39px var(--serif);margin:10px 0}.modal h2 em{font-weight:400}.modal-intro{color:#758077;font-size:12px;line-height:1.6;margin:0 0 23px}.role-options{display:grid;gap:9px}.role-option{width:100%;text-align:left;border:1px solid #e3e2d8;background:#f7f5ee;display:flex;align-items:center;gap:13px;padding:13px;transition:.15s}.role-option:hover{border-color:#77917f;background:#f0f2e9}.role-symbol{height:34px;width:34px;display:grid;place-items:center;background:#e7eadf;color:#526e5b;border-radius:50%;font-size:15px}.role-option b,.role-option small{display:block}.role-option b{font-size:12px}.role-option small{margin-top:3px;font-size:10px;color:#818980}.role-arrow{margin-left:auto;color:#66776a}.auth-modal{width:min(455px,calc(100% - 32px))}.back-button{border:0;background:none;padding:0;margin:0 0 28px;color:#607166;font-size:11px}.auth-form{display:grid;gap:13px}.auth-form label{font-size:10px;font-weight:600;color:#56635a}.auth-form input{display:block;width:100%;padding:12px 13px;margin-top:6px;border:1px solid #dedfd4;background:#fffefa;font:12px var(--sans);outline:none}.auth-form input:focus{border-color:#647f6c;box-shadow:0 0 0 3px #647f6c1a}.auth-submit{width:100%;margin-top:2px}.form-message{min-height:14px;font-size:10px;color:#a5493b;line-height:1.5}.form-message.ok{color:#3e7252}.secure-note{text-align:center;font-size:9px;color:#889088;margin:18px 0 0}.hidden{display:none!important}.portal{min-height:100vh;background:#f7f6f1}.portal-header{height:75px;border-bottom:1px solid var(--line);padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fbfaf5}.portal-header>div{display:flex;align-items:center;gap:20px}.portal-user{font-size:11px;color:#647067}.portal-main{min-height:calc(100vh - 75px);display:grid;grid-template-columns:275px 1fr}.portal-sidebar{padding:43px 27px;border-right:1px solid var(--line);background:#f1f0e9;display:flex;flex-direction:column}.portal-sidebar h2{font:500 29px/1.2 var(--serif);margin:14px 0 30px}.portal-sidebar h2 em{font-size:27px}.portal-sidebar nav{display:grid;gap:6px}.portal-nav-button{border:0;background:transparent;text-align:left;padding:12px 12px;color:#667168;font-size:11px}.portal-nav-button.active,.portal-nav-button:hover{background:#e2e8de;color:#34523f}.sidebar-help{margin-top:auto;padding-top:24px;border-top:1px solid #dbdcd1;font-size:11px;color:#5d6b61}.sidebar-help p{font-size:10px;color:#818981;line-height:1.5}.portal-content{padding:50px 6%;max-width:1100px}.portal-content .eyebrow{margin-bottom:12px}.portal-content h1{font:500 39px var(--serif);margin:0 0 9px}.portal-subtitle{font-size:12px;color:#778078;margin:0 0 28px}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:24px 0}.metric{padding:19px;background:#eeeee6;border:1px solid #e4e4d9}.metric span{display:block;color:#788078;font-size:10px}.metric b{display:block;font:500 27px var(--serif);margin-top:10px;color:#2d4c3b}.data-card{background:#fbfaf6;border:1px solid #e5e4da;padding:20px;margin:14px 0}.data-card h3{font:500 18px var(--serif);margin:0 0 13px}.data-card p{font-size:12px;line-height:1.6;color:#727b73}.data-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #eeede5;padding:11px 0;font-size:11px}.data-row span:last-child{color:#718078}.portal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:720px}.portal-form label{font-size:10px;color:#626e64}.portal-form input,.portal-form select,.portal-form textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #dedfd4;background:#fffefa;font:12px var(--sans)}.portal-form textarea{min-height:92px;resize:vertical}.portal-form .span-two{grid-column:span 2}.portal-form button{justify-self:start}.notice{padding:13px 15px;background:#e8eee5;color:#45674e;font-size:11px;line-height:1.6;margin:15px 0;max-width:730px}.table-wrap{overflow:auto;background:#fbfaf6;border:1px solid #e5e4da}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th,td{padding:12px;border-bottom:1px solid #eeede5;white-space:nowrap}th{font-size:9px;color:#7b857d;letter-spacing:.08em;text-transform:uppercase}td{color:#526157}td .button{font-size:10px;padding:8px 10px;gap:9px}.small-muted{font-size:10px;color:#788078}.review-card{padding:15px;background:#f1f0e9;margin:10px 0;font-size:12px}.review-card b{display:block;font-size:11px;margin-bottom:7px}.review-card span{color:#7c857d;font-size:9px}
@media(max-width:800px){.topbar{padding:0 5%;height:70px}.desktop-nav{display:none}.top-login{margin-left:auto;margin-right:13px}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:54px 7% 44px;gap:45px}.hero h1{font-size:60px}.hero-art{justify-self:center;height:350px}.hero-facts{margin-top:40px}.ticker{overflow:hidden;gap:25px;justify-content:flex-start;white-space:nowrap}.ticker span:nth-of-type(n+3),.ticker b:nth-of-type(n+2){display:none}.section{padding:75px 7%}.section-head{align-items:flex-start;flex-direction:column;gap:16px}.section h2{font-size:44px}.program-grid{grid-template-columns:1fr;gap:12px;margin-top:30px}.program-card{min-height:225px}.teacher-section{padding:68px 7%;grid-template-columns:1fr;gap:38px}.teacher-art{height:300px}.teacher-copy h2{font-size:43px}.contact-section{padding:70px 7%;grid-template-columns:1fr;gap:36px}.contact-details{padding-bottom:35px}footer{padding:22px 5%;flex-wrap:wrap;gap:15px}footer>span:nth-of-type(1){display:none}.portal-main{grid-template-columns:1fr}.portal-sidebar{padding:23px 5%;border-right:0;border-bottom:1px solid var(--line)}.portal-sidebar h2{font-size:23px;margin:10px 0 15px}.portal-sidebar h2 em{font-size:22px}.portal-sidebar nav{display:flex;overflow-x:auto}.portal-nav-button{white-space:nowrap}.sidebar-help{display:none}.portal-content{padding:35px 5%}.portal-grid{grid-template-columns:1fr 1fr}.portal-header{padding:0 5%}.portal-header .brand{font-size:10px}.portal-user{display:none}}
@media(max-width:480px){.brand{font-size:11px}.top-login{font-size:10px;padding:11px}.hero h1{font-size:50px}.hero-art{height:290px}.sun{width:130px;height:130px}.book-back{right:49px}.book-mid{right:127px}.book-front{right:199px}.art-note{left:20px;bottom:32px;font-size:14px}.art-tag{font-size:7px}.hero-facts{gap:13px}.hero-facts span{font-size:9px}.section h2{font-size:39px}.quote-section blockquote{font-size:29px}.contact-details{grid-template-columns:1fr;gap:25px}.contact-copy h2{font-size:53px}.portal-grid{grid-template-columns:1fr}.portal-form{grid-template-columns:1fr}.portal-form .span-two{grid-column:auto}.modal{padding:34px 24px 27px}}

/* Contact and admission enquiry */
.contact-actions{display:flex;flex-wrap:wrap;gap:9px;max-width:440px}.contact-actions .button{padding:12px 14px;gap:12px;font-size:10px}.button-contact{background:#f3efe4;color:#294a3d}.button-whatsapp{background:#347653;color:white}.contact-item a:hover{color:#e6c788}.enquiry-form{margin-top:27px;padding:20px;background:#ffffff0b;border:1px solid #ffffff25;max-width:470px}.enquiry-form h3{font:500 21px var(--serif);margin:0 0 15px}.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.enquiry-fields label{font-size:9px;color:#c8d1c8}.enquiry-fields input,.enquiry-fields select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #ffffff37;background:#ffffff12;color:#fff;font:11px var(--sans);border-radius:0}.enquiry-fields select option{color:#202723}.enquiry-fields input::placeholder{color:#becbbf}.enquiry-form>button{margin-top:14px;padding:11px 13px;font-size:10px}.form-hint{display:block;margin-top:9px;color:#b6c4b7;font-size:9px}
+@media(max-width:480px){.enquiry-fields{grid-template-columns:1fr}}

/* Admin recovery and handover */
.forgot-link{display:block;margin:14px auto 0;border:0;background:none;color:#536b5c;font-size:10px;text-decoration:underline;text-underline-offset:3px}.forgot-link:hover{color:#a26348}.transfer-page{min-height:calc(100vh - 83px);padding:55px 20px;display:grid;place-items:start center;background:#f2f0e8}.transfer-card{position:relative;width:min(560px,100%);padding:38px;background:#faf8f2;border:1px solid #e3e2d8}.transfer-card h1{font:500 39px var(--serif);margin:16px 0}.transfer-card h1 em{color:#a26348}.field-help{display:block;margin-top:6px;color:#828b82;font-size:9px}.transfer-card .button-outline{margin-top:20px}

/* Class based attendance and private note downloads */
.attendance-roster{border:1px solid #e5e4da;background:#fbfaf6;max-height:340px;overflow:auto}.attendance-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 13px;border-bottom:1px solid #eeede5}.attendance-row:last-child{border-bottom:0}.attendance-row span b,.attendance-row span small{display:block}.attendance-row span b{font-size:11px}.attendance-row span small{font-size:9px;color:#7d877e;margin-top:3px}.attendance-row select{min-width:115px;padding:8px;border:1px solid #dedfd4;background:#fffefa;font:11px var(--sans);color:#44534a}.note-download{border:0;background:none;padding:0;color:#355e45;text-decoration:underline;text-underline-offset:3px;font:600 10px var(--sans);cursor:pointer}.note-download:hover{color:#a26348}
