:root{--ink:#17191d;--paper:#f3eee5;--green:#a9c9ee;--orange:#2474c6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:rgba(243,238,229,.96);position:sticky;top:0;z-index:5;border-bottom:1px solid #17191d18}.brand{font-size:23px;font-weight:800;letter-spacing:-1px}.brand span{display:block;font-size:9px;letter-spacing:2px;line-height:1}nav{display:flex;gap:35px;font-size:14px}header button{border:1px solid #17191d40;border-radius:30px;padding:9px 18px;background:none}.hero{padding:60px 6% 24px;display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 28px}.hero h1{font-size:clamp(36px,4.1vw,64px);line-height:1.3;letter-spacing:-2px;margin:0 0 26px}.hero h1 em{font-style:normal;color:#2474c6}.intro{max-width:440px;color:#656970;font-size:17px;margin-bottom:34px}.button{display:inline-flex;gap:32px;justify-content:space-between;align-items:center;padding:14px 25px;background:var(--ink);color:white;border:0;border-radius:32px;font-size:14px}.hero-tags{display:flex;gap:16px;margin-top:65px;font-size:13px}.hero-tags span:first-child,.hero-tags span:last-child{border-bottom:1px solid #7f9ab8;padding-bottom:6px}.portrait{position:relative;padding:16px;background:#e1e4e8;border-radius:140px 140px 10px 10px;max-width:430px;margin-left:auto}.portrait img{display:block;width:100%;height:auto;border-radius:126px 126px 4px 4px}.photo-note{position:absolute;bottom:0;left:0;right:0;background:var(--green);text-align:center;padding:10px;font-size:9px;letter-spacing:1.5px;border-radius:0 0 10px 10px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;border-top:1px solid #17191d25;padding-top:20px}.hero-bottom a{font-size:23px}.about{padding:115px 8%}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}h2{font-size:clamp(30px,3.8vw,54px);line-height:1.35;letter-spacing:-1.5px;margin:0 0 30px}.split p{color:#656970;max-width:470px}.split .large{font-size:23px;color:var(--ink);margin-top:0}.signature{font-family:Georgia,serif;font-size:26px;letter-spacing:2px;margin-top:35px}.signature span{color:var(--orange);margin-left:25px}.approach{background:var(--ink);color:var(--paper);padding:85px 8%}.approach .eyebrow{color:var(--green)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:60px}.approach article{border-top:1px solid #ffffff50;padding-top:18px}.number{font-size:12px;color:#aeb5bf}.symbol{display:block;font-size:58px;color:var(--green);margin:20px 0}h3{font-size:21px;margin:0 0 10px}.approach article p{font-size:14px;color:#c2c8d1}.next{padding:100px 8%;max-width:1100px;margin:auto;text-align:center}.next>p{color:#656970}.topics{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:35px 0}.topics button{padding:10px 22px;border:1px solid #a9b4c2;border-radius:28px;background:none}.topics button.active{background:var(--green);border-color:var(--green)}.discussion{padding:32px;background:#e4e9ef;border-radius:16px;text-align:left;max-width:670px;margin:auto}.discussion .eyebrow{margin-bottom:12px}.discussion #prompt{white-space:pre-line;min-height:90px;margin:0 0 23px}.discussion #copy-status{font-size:12px;margin-bottom:0;min-height:20px}.contact-note{font-size:12px;margin-top:28px}footer{padding:32px 6%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #17191d25;font-size:12px}footer>a:first-child{font-weight:800;font-size:20px}footer p{color:#656970}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}button:hover,.button:hover{filter:brightness(.9)}a:focus-visible,button:focus-visible{outline:3px solid #2474c6;outline-offset:5px}@media(max-width:700px){header{height:80px;padding:0 6%}.brand{font-size:20px}nav{display:none}.hero{grid-template-columns:1fr;padding-top:38px;gap:35px}.hero h1{font-size:37px;letter-spacing:-1px}.hero .eyebrow{font-size:10px}.intro{font-size:16px}.hero-tags{margin-top:32px}.portrait{margin:auto;max-width:350px;width:100%}.hero-bottom{font-size:10px}.about,.approach,.next{padding:65px 7%}.split,.approach-grid{grid-template-columns:1fr;gap:25px}.approach-grid{margin-top:35px}.symbol{font-size:42px;margin:10px 0}.approach article{padding-bottom:20px}h2{font-size:33px}.topics button{font-size:13px;padding:9px 17px}.discussion{padding:25px}.discussion #prompt{font-size:14px}footer{flex-wrap:wrap;gap:15px}footer p{width:100%;order:3;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}}

/* Blue, black, grey and beige theme */
.button{background:#246fbc}.approach{background:#17191d}.hero-tags span:first-child,.hero-tags span:last-child{color:#28669e}.topics button.active{color:#163b61}.brand{color:#17191d}a:hover{color:#2474c6}.button:hover{color:#fff}

/* Course and consultant sections */
.enquiry-section{background:#f3eee5;padding:100px 8%;text-align:left}.enquiry-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center;max-width:1200px;margin:auto}.enquiry-intro h2{white-space:pre-line;font-size:clamp(35px,3.8vw,55px);line-height:1.3}.enquiry-intro>p:not(.eyebrow){max-width:370px;color:#656970}.enquiry-intro .eyebrow{color:#246fbc;font-size:10px}.direct-contact{margin:44px 0 24px;border-top:1px solid #17191d30;padding-top:24px}.direct-contact span{display:block;font-size:10px;letter-spacing:1px;color:#656970}.direct-contact a{font-size:24px;font-weight:700;display:block;margin-top:9px}.enquiry-intro>.button{background:#17191d;font-size:13px}.enquiry-card{background:#246fbc;color:white;padding:35px;border-radius:6px 32px 6px 32px;box-shadow:12px 12px 0 #17191d}.enquiry-card-top{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px;margin-bottom:24px}.enquiry-dot{width:8px;height:8px;background:#d6e7f7;border-radius:50%}.enquiry-card h3{font-size:26px;margin-bottom:5px}.enquiry-card>p{font-size:13px;color:#e0ecf8;margin:0 0 28px}.enquiry-field{display:flex;gap:15px;align-items:center;margin:22px 0}.field-number{font-size:13px;color:#cfe4f8;align-self:flex-start;padding-top:3px}.enquiry-field>div{flex:1;min-width:0}.enquiry-field label{display:block;font-size:13px;margin-bottom:8px}.enquiry-field select{font:inherit;font-size:14px;width:100%;padding:15px 12px;border:1px solid #ffffff80;border-radius:6px;background:#fff;color:#17191d;min-height:51px}.enquiry-field select:focus-visible{outline:3px solid #f3d7a6;outline-offset:3px}.message-preview{background:#19538f;padding:19px 20px;border-radius:8px;margin:26px 0 20px}.message-preview>span{font-size:10px;letter-spacing:1px;color:#d2e4f5}.message-preview>p{white-space:pre-line;font-size:13px;margin:12px 0 0;line-height:1.8;color:white}.enquiry-submit .button{display:flex;width:100%;justify-content:center;background:#f3eee5;border:0;color:#17191d;padding:16px 18px;font-weight:700}.enquiry-submit .button:hover{color:#17191d;background:white}.enquiry-card .enquiry-send-note{font-size:11px;text-align:center;margin:16px 0 0;color:#e0ecf8}.enquiry-notes{max-width:1200px;margin:65px auto 0;border-top:1px solid #17191d25;padding-top:22px}.enquiry-notes>summary{cursor:pointer;font-size:13px;color:#245e98;padding:8px 0}.enquiry-notes .discussion{margin:25px auto}.enquiry-section [hidden]{display:none!important}@media(max-width:900px){.enquiry-grid{gap:35px}}@media(max-width:700px){.enquiry-section{padding:65px 7%}.enquiry-grid{grid-template-columns:1fr;gap:35px}.enquiry-intro h2{font-size:36px}.direct-contact{margin-top:24px}.enquiry-card{padding:25px 20px;box-shadow:7px 7px 0 #17191d}.enquiry-field{gap:10px}.enquiry-card h3{font-size:23px}.direct-contact a{font-size:23px}.enquiry-notes{margin-top:45px}}
.contact-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}.contact-actions .button{min-width:145px;justify-content:center;padding:16px 28px;font-weight:600}.contact-actions .whatsapp-button{background:#17191d;color:#fff;border:1px solid #17191d}.contact-actions .whatsapp-button:hover{background:#373c44}@media(max-width:360px){.contact-actions{gap:10px}.contact-actions .button{min-width:120px;padding:14px 20px}}
nav{gap:24px}.hero{background:radial-gradient(ellipse at 92% 25%,#c8dbed88,transparent 55%)}.portrait{border-radius:22px;transform:rotate(2deg);box-shadow:18px 18px 0 #abc9e84d}.portrait img{border-radius:12px}.photo-note{position:relative;display:block;border-radius:0 0 10px 10px;margin:10px -6px -6px}.about{position:relative}.about:before{content:'C';position:absolute;left:3%;top:0;font-size:260px;line-height:1;color:#2474c609;font-weight:800;z-index:-1}.courses{background:#dce8f4;padding:85px 8%}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end}.section-heading>p{max-width:420px;color:#526274;margin-bottom:35px}.course-list{margin-top:35px}.course-row{display:grid;grid-template-columns:150px 1fr 40px;gap:25px;align-items:center;padding:35px 0;border-top:1px solid #17191d30;transition:background .25s,padding .25s}.course-row:last-child{border-bottom:1px solid #17191d30}.course-row:hover{padding-left:18px;background:#ffffff40;color:var(--ink)}.year{font-size:64px;line-height:1;font-weight:800;letter-spacing:-4px;color:#246fbc}.course-row h3{font-size:24px}.course-row p{margin:0;color:#526274;font-size:14px}.course-arrow{font-size:32px}.small-note{font-size:12px;color:#626a74;margin-top:25px}.approach{position:relative;overflow:hidden}.approach:after{content:'ENGLISH / GROWTH';position:absolute;right:-10px;top:20px;font-size:80px;writing-mode:vertical-rl;color:#ffffff05;pointer-events:none;font-weight:800}.consultant{padding:100px 8%;display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#e7e7e4}.role-tag{display:inline-block;color:#245e98;letter-spacing:2px;font-size:11px;border:1px solid #abc0d4;border-radius:5px;padding:6px 10px}.consultant-title>p:not(.eyebrow){max-width:450px;color:#626a74;margin:25px 0}.consultant-steps{padding-top:24px}.consultant-steps article{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid #17191d25}.consultant-steps article>span{font-size:14px;color:#246fbc;font-weight:700}.consultant-steps h3{font-size:22px}.consultant-steps p{color:#626a74;margin:0;max-width:400px}.showcase{padding:90px 8%;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.poster-card{max-width:350px;margin:auto;transform:rotate(-3deg);background:white;padding:15px;box-shadow:0 12px 35px #17191d18}.poster-card button{display:block;border:0;padding:0;background:none;text-align:left;width:100%}.poster-card img{width:100%;height:auto;display:block}.poster-card span{display:block;padding:15px 0 0;font-size:12px;color:#245e98}.showcase-copy>p{color:#626a74;max-width:440px}.quote-mark{font-size:90px;color:#246fbc;line-height:1;height:70px;margin-top:25px}.showcase blockquote{font-size:32px;margin:0}.next{max-width:none;background:#dce8f4}.discussion{background:#f7f8fa}.selected-year{color:#245e98;font-size:13px;font-weight:700;margin:0 0 15px}dialog{border:0;padding:20px;max-width:min(650px,94vw);max-height:90vh;border-radius:14px;background:var(--paper)}dialog::backdrop{background:#17191dde}dialog img{max-width:100%;height:auto;display:block}dialog img[hidden]{display:none}#close-poster{display:block;position:sticky;top:0;margin:0 0 15px auto;padding:10px 20px;border:0;border-radius:30px;background:#17191d;color:white;z-index:2}#poster-status{font-size:14px}.hero-copy{animation:welcome .8s both}@keyframes welcome{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1000px){nav{gap:14px;font-size:12px}.consultant,.showcase{gap:40px}.section-heading{gap:35px}.course-row{grid-template-columns:100px 1fr 30px}}
@media(max-width:700px){header{height:112px;flex-wrap:wrap;padding-top:14px;padding-bottom:10px}nav{display:flex;order:3;width:100%;justify-content:space-between;gap:10px;font-size:11px}html{scroll-padding-top:125px}.courses,.consultant,.showcase{padding:60px 7%}.section-heading,.consultant,.showcase{grid-template-columns:1fr;gap:25px}.section-heading>p{margin:0}.course-row{grid-template-columns:55px 1fr 24px;gap:16px;padding:28px 0}.year{font-size:40px;letter-spacing:-2px}.course-row h3{font-size:20px}.course-row p{font-size:13px}.course-arrow{font-size:24px}.consultant-steps{padding-top:0}.consultant-steps p{font-size:14px}.showcase{gap:40px}.poster-card{max-width:280px}.showcase blockquote{font-size:28px}.portrait{max-width:315px}.hero h1{font-size:clamp(30px,8.5vw,37px)}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}.course-row{transition:none}}
.preschool-mark{font-size:47px;letter-spacing:-3px}.methods{padding:90px 8%;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;background:#f7f5ef}.method-copy>p:not(.eyebrow){max-width:440px;color:#626a74}.text-link{display:inline-block;color:#245e98;border-bottom:1px solid #245e98;padding-bottom:8px;margin-top:15px;font-size:14px}.memory-note{padding:38px;background:#b9d6f2;max-width:420px;width:100%;justify-self:center;transform:rotate(3deg);box-shadow:12px 12px 0 #17191d}.note-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px}.note-top>span:last-child{font-size:30px;line-height:1}.memory-note h3{font-size:clamp(32px,4vw,54px);letter-spacing:-2px;line-height:1.1;margin:35px 0}.note-line{height:1px;background:#17191d40}.memory-note p{font-size:14px;margin:20px 0 35px}.note-sign{font-size:12px;letter-spacing:2px;font-weight:800}@media(max-width:700px){.methods{padding:60px 7%;grid-template-columns:1fr;gap:40px}.memory-note{padding:28px;max-width:300px}.preschool-mark{font-size:27px;letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){.memory-note{transform:none}}


.next.enquiry-section{background:#f3eee5}
main>section[hidden]{display:none!important}nav a[aria-current="page"]{color:#246fbc;border-bottom:2px solid #246fbc;padding-bottom:5px}body:has(nav a[data-page="home"][aria-current]) .consultant{margin-top:30px}body:has(nav a[data-page="teaching"][aria-current]) .courses,body:has(nav a[data-page="about"][aria-current]) .about{padding-top:70px}
.consultant-biography{margin:28px 0 32px;max-width:580px}.consultant-biography p{font-size:16px;line-height:1.95;color:#555e68;margin:0 0 22px}.consultant-biography strong{color:#24282e}.consultant-biography p:first-child{font-size:20px}.consultant-steps p{white-space:pre-line;line-height:1.9}.consultant-steps{align-self:start}.consultant-title h2{font-size:clamp(32px,3.3vw,49px)}@media(max-width:700px){.consultant-biography p{font-size:15px}.consultant-title h2{font-size:32px}}
.enquiry-card{color:#242220;border:1px solid #d5c9b4;background-color:#f0e3ca;background-image:linear-gradient(90deg,transparent 0,transparent 23px,#c4867540 23px,#c4867540 25px,transparent 25px),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#8d9caa30 31px,#8d9caa30 32px);box-shadow:12px 12px 0 #282828}.enquiry-dot{background:#2474c6}.enquiry-card-top{color:#55504a}.enquiry-card>p,.enquiry-card .enquiry-send-note{color:#5b5347}.field-number{color:#6b6154}.enquiry-field select{background:#fffaf1;border-color:#c1b59f;color:#242220}.message-preview{background:#fffaf0d9;border:1px solid #cbbda3}.message-preview>span{color:#665d4f}.message-preview>p{color:#242220}.enquiry-submit .button{background:#246fbc;color:white}.enquiry-submit .button:hover{background:#195b9f;color:white}.enquiry-field select:focus-visible{outline-color:#2474c6}


.enquiry-card-top{color:#000}.enquiry-dot{background:#000}.enquiry-submit .button{background:#000;color:#fff}.enquiry-submit .button:hover{background:#222;color:#fff}


/* Navy controls and accents; existing page backgrounds retained. */
:root{--orange:#142d50}.button{background:#142d50}.button:hover{background:#203e64;color:#fff}.hero h1 em{color:#142d50}.hero-tags span:first-child,.hero-tags span:last-child{color:#142d50}a:hover{color:#142d50}.button:hover{color:#fff}nav a[aria-current='page']{color:#142d50;border-color:#142d50}.year,.consultant-steps article>span,.quote-mark,.enquiry-intro .eyebrow{color:#142d50}.role-tag,.text-link{color:#142d50;border-color:#142d50}.topics button.active{color:#142d50}.selected-year{color:#142d50}.enquiry-field select:focus-visible,a:focus-visible,button:focus-visible{outline-color:#142d50}.enquiry-submit .button,.enquiry-intro>.button,.enquiry-card .enquiry-submit .whatsapp-button{background:#142d50;color:#fff}.enquiry-submit .button:hover,.enquiry-intro>.button:hover{background:#203e64;color:#fff}


/* Gentle sparkle on the homepage title only. */
.hero h1{position:relative;isolation:isolate;overflow:visible}.hero h1>span{background-image:linear-gradient(110deg,#17191d 0%,#17191d 38%,#8995a4 46%,#fffaf0 50%,#8995a4 54%,#17191d 62%,#17191d 100%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:cindy-title-shimmer 6s linear infinite}.hero h1 em{background-image:linear-gradient(110deg,#142d50 0%,#142d50 38%,#7898be 46%,#fffaf0 50%,#7898be 54%,#142d50 62%,#142d50 100%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:cindy-title-shimmer 6s linear infinite;animation-delay:.5s}.hero h1:before,.hero h1:after{content:'✦';position:absolute;pointer-events:none;font-weight:400;line-height:1;color:#637f9d;text-shadow:0 0 8px #fffaf0;font-size:24px;animation:cindy-title-twinkle 3.6s ease-in-out infinite}.hero h1:before{top:-18px;left:12px}.hero h1:after{right:4%;bottom:-16px;font-size:18px;animation-delay:1.5s}@keyframes cindy-title-shimmer{0%,20%{background-position:150% 0}75%,100%{background-position:-50% 0}}@keyframes cindy-title-twinkle{0%,100%{opacity:.15;transform:scale(.65) rotate(-12deg)}50%{opacity:1;transform:scale(1.12) rotate(12deg)}}@media(prefers-reduced-motion:reduce){.hero h1>span,.hero h1 em{animation:none;background:none;-webkit-text-fill-color:currentColor}.hero h1:before,.hero h1:after{animation:none;opacity:.6}}

/* Preschool class pages */
.preschool-page{padding:65px 8% 90px;background:#f3eee5}.preschool-page h1{font-size:clamp(32px,4vw,55px);line-height:1.35;white-space:pre-line;margin:20px 0 25px;letter-spacing:-1px}.back-link{display:inline-block;font-size:13px;color:#142d50;margin-bottom:35px;border-bottom:1px solid #142d5050;padding-bottom:5px}.preschool-page .eyebrow{color:#142d50;margin:20px 0}.preschool-intro{max-width:700px;color:#656970;line-height:1.9;margin-bottom:45px}.preschool-cards{display:grid;grid-template-columns:1fr 1fr;gap:35px}.preschool-course{background:#fffaf1;border:1px solid #d6ccba;border-radius:16px;overflow:hidden}.class-poster{display:block;position:relative;background:#fffaf1}.class-poster img{display:block;width:100%;height:auto}.preschool-course .class-poster span{display:block;background:#142d50;color:white;font-size:14px;padding:16px 25px}.class-card-copy{padding:30px}.class-card-copy h2{font-size:28px;margin:0 0 12px}.class-card-copy>p:not(.class-price){color:#656970;line-height:1.9}.class-card-copy h3{font-size:16px;margin:26px 0 10px}.class-price{font-weight:700;color:#142d50;font-size:22px}.class-slots{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.class-slots a{font-size:13px;padding:11px 16px;border:1px solid #142d5050;border-radius:8px;color:#142d50;background:#f3eee5}.class-slots a:hover{background:#142d50;color:white}.growth-pending{margin-top:65px;padding:35px;border-top:1px solid #142d5030;border-bottom:1px solid #142d5030}.growth-pending h2{font-size:29px;margin-bottom:15px}.growth-pending p{color:#656970}.class-detail-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:start}.class-detail-hero>div>p{max-width:570px;line-height:1.95}.class-detail-hero h2{font-size:22px;color:#142d50}.detail-poster{max-width:420px;border-radius:12px;overflow:hidden;border:1px solid #d6ccba;box-shadow:12px 12px 0 #ded6c7;justify-self:end}.class-learning{margin-top:70px}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.learning-grid article{padding:28px;background:#e7e7e4;border-radius:12px}.learning-grid article>span{color:#142d50;font-size:13px}.learning-grid h3{font-size:20px;margin:15px 0}.learning-grid p{color:#656970;font-size:14px}.parent-confidence{padding:45px;margin-top:40px;background:#142d50;color:#f3eee5;border-radius:16px}.parent-confidence h2{font-size:30px}.parent-confidence p{max-width:850px;line-height:1.95;color:#e0e5ec}.parent-confidence .button{background:#f3eee5;color:#142d50;margin-top:18px}.parent-confidence .button:hover{background:white;color:#142d50}@media(max-width:700px){.preschool-page{padding:40px 7% 60px}.preschool-cards,.class-detail-hero,.learning-grid{grid-template-columns:1fr;gap:25px}.class-card-copy{padding:23px}.class-detail-hero h1{font-size:32px}.detail-poster{justify-self:center;width:100%;max-width:360px}.parent-confidence,.growth-pending{padding:25px}.parent-confidence h2,.growth-pending h2{font-size:25px}.class-learning{margin-top:45px}}

/* Compact preschool poster previews. */
.preschool-course>.class-poster{padding:22px 22px 0}.preschool-course>.class-poster img{width:auto;max-width:100%;height:360px;margin:0 auto;object-fit:contain}.preschool-course .class-poster span{margin:18px -22px 0;text-align:center}.class-card-copy{padding-top:24px}@media(max-width:700px){.preschool-course>.class-poster img{height:300px;max-height:95vw}}

/* Learning journey course layout. */
.course-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative;padding-top:38px}.course-list:before{content:'';position:absolute;left:10%;right:10%;top:14px;border-top:2px dashed #142d5060}.course-row{display:flex;flex-direction:column;align-items:stretch;gap:0;position:relative;background:#f8f5ec;border:0!important;border-radius:14px;overflow:visible;padding:0!important;transition:transform .3s,box-shadow .3s}.course-row:before{content:'';position:absolute;left:calc(50% - 8px);top:-31px;width:16px;height:16px;border:4px solid #f8f5ec;box-shadow:0 0 0 1px #142d5070;background:#142d50;border-radius:50%}.course-row:after{content:'ENGLISH / BI';order:-2;background:#142d50;color:#f8f5ec;padding:18px 20px;font-size:9px;letter-spacing:1.5px;border-radius:14px 14px 0 0}.course-row:first-child:after{content:'EARLY LEARNING'}.course-row .year{display:block;text-align:center;font-size:76px;line-height:1.2;padding:35px 15px 25px;color:#142d50;letter-spacing:-5px}.course-row .preschool-mark{font-size:57px;letter-spacing:-4px;transform:rotate(-5deg)}.course-row>div{padding:5px 22px 22px;flex:1}.course-row h3{font-size:22px;margin:0 0 14px}.course-row p{font-size:13px;line-height:1.9;min-height:75px;color:#657080}.course-row .course-arrow{align-self:stretch;text-align:right;margin:0 22px;padding:13px 0 18px;font-size:24px;border-top:1px solid #142d5025;line-height:1}.course-row:hover{color:#142d50;background:#f8f5ec;transform:translateY(-7px);box-shadow:0 16px 25px #142d5015}@media(max-width:1000px) and (min-width:701px){.course-list{gap:15px}.course-row>div{padding:5px 15px 20px}.course-row h3{font-size:19px}.course-row p{min-height:100px}}@media(max-width:700px){.course-list{grid-template-columns:1fr;gap:25px;padding:0 0 0 24px}.course-list:before{left:3px;right:auto;top:0;bottom:0;border:0;border-left:2px dashed #142d5060}.course-row{display:grid;grid-template-columns:85px minmax(0,1fr);gap:0}.course-row:before{left:-28px;top:24px}.course-row:after{grid-column:1/-1;grid-row:1;order:0;padding:15px 18px}.course-row .year{grid-column:1;grid-row:2;font-size:48px;letter-spacing:-3px;padding:28px 8px 10px;align-self:center}.course-row .preschool-mark{font-size:32px;letter-spacing:-2px}.course-row>div{grid-column:2;grid-row:2;padding:24px 18px 8px 5px}.course-row h3{font-size:20px}.course-row p{min-height:0;font-size:12px}.course-row .course-arrow{grid-column:1/-1;grid-row:3;padding:8px 0 15px;margin:12px 18px 0}.course-row:hover{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.course-row{transition:none}.course-row:hover{transform:none}}

.enquiry-error{font-size:12px!important;color:#9b2925!important;margin:8px 0 0!important;line-height:1.6}.enquiry-field select[aria-invalid='true']{border:2px solid #a63a30;outline-color:#a63a30}.enquiry-validation-hint{font-size:12px;color:#665946;margin:0 0 14px;line-height:1.7}.enquiry-submit .selection-required{opacity:.72;cursor:pointer}.enquiry-submit .selection-required:focus-visible{outline:3px solid #a63a30;outline-offset:4px}


.courses{background:#e7e7e4}
.about-identity h2{font-size:clamp(48px,5.8vw,84px);font-weight:800;letter-spacing:-3px;margin-bottom:10px;line-height:1.1;color:#142d50}.about-identity .about-tagline{font-size:24px;color:#24282e;margin:15px 0 30px;max-width:none}.business-card{display:block;width:100%;max-width:550px;background:#fffaf2;border:1px solid #d4d1c8;padding:10px;border-radius:12px;box-shadow:10px 12px 0 #142d5012}.business-card img{display:block;width:100%;height:auto;border-radius:5px}.business-card span{display:block;padding:12px 5px 4px;font-size:12px;color:#142d50}.about .split{align-items:start;gap:65px}.about .split>div:last-child{padding-top:12px}@media(max-width:700px){.about-identity h2{font-size:49px;letter-spacing:-2px}.about-identity .about-tagline{font-size:20px;margin-bottom:25px}.about .split{gap:35px}.business-card{max-width:450px}}


.about .split>.teacher-intro-card{position:relative;padding:34px 30px;border:1px solid #142d5033;border-radius:22px;background:#f3eee5;box-shadow:0 12px 35px #142d5009;overflow:hidden}
.teacher-intro-card .teacher-card-kicker{font-size:10px;letter-spacing:1.8px;color:#142d50;margin:0 30px 24px 0}
.teacher-intro-card h3{font-size:clamp(24px,2.3vw,34px);line-height:1.6;color:#142d50;margin:0 0 22px;letter-spacing:-.5px}
.teacher-intro-card .teacher-card-body p{font-size:16px;line-height:1.95;margin:0 0 18px;max-width:none;color:#58616c}
.teacher-intro-card .teacher-card-body .teacher-greeting{font-weight:700;color:#17191d;font-size:19px;margin-bottom:12px}
.teacher-role-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 28px}
.teacher-role-tags span{border:1px solid #142d5026;border-radius:20px;padding:5px 11px;font-size:11px;color:#142d50;background:#ffffff40}
.teacher-chat{background:#142d50;gap:24px;transition:transform .2s,box-shadow .2s}
.teacher-chat:hover{transform:translateY(-2px);box-shadow:0 6px 16px #142d5020}
.teacher-chat:focus-visible{outline:3px solid #142d50;outline-offset:4px}
.teacher-spark{position:absolute;color:#a68b4d;pointer-events:none;animation:teacher-twinkle 3.2s ease-in-out infinite}
.teacher-spark-one{right:23px;top:17px;font-size:26px}.teacher-spark-two{right:17px;bottom:24px;font-size:19px;animation-delay:1.5s}
@keyframes teacher-twinkle{0%,100%{opacity:.35;transform:scale(.8) rotate(-8deg)}50%{opacity:1;transform:scale(1.12) rotate(8deg)}}
.about{padding-bottom:50px}
@media(max-width:700px){.about .split>.teacher-intro-card{padding:27px 23px}.teacher-intro-card h3{font-size:25px}.teacher-intro-card .teacher-card-body p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.teacher-spark{animation:none}.teacher-chat{transition:none}}

header .brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
header .brand .brand-logo{display:block;width:64px;height:64px;object-fit:contain;border-radius:50%;mix-blend-mode:multiply}
header .brand .brand-copy{font-size:23px;font-weight:800;letter-spacing:-1px;line-height:1.35}
header .brand .brand-copy>span{font-size:9px;letter-spacing:2px;line-height:1.4}
@media(max-width:700px){header .brand{gap:8px}header .brand .brand-logo{width:44px;height:44px}header .brand .brand-copy{font-size:19px}header .brand .brand-copy>span{font-size:7px;letter-spacing:1.4px}}

.course-list .course-row{cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media(hover:hover){.course-list .course-row:hover{transform:translateY(-7px);box-shadow:0 14px 28px #142d501a}.course-list .course-row:hover .course-arrow{transform:translate(3px,-3px)}}
.course-list .course-row:focus-visible{outline:3px solid #142d50;outline-offset:5px;transform:translateY(-5px)}
.course-list .course-row .course-arrow{transition:transform .22s ease}
.course-list .course-row:active{transform:translateY(-2px) scale(.985)}
.course-list .course-row.course-tapped{animation:course-tap-bounce .22s ease-out both}
@keyframes course-tap-bounce{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-9px) scale(1.01)}100%{transform:translateY(-3px) scale(.995)}}
@media(prefers-reduced-motion:reduce){.course-list .course-row,.course-list .course-row .course-arrow{transition:none}.course-list .course-row:hover,.course-list .course-row:focus-visible,.course-list .course-row:active{transform:none}.course-list .course-row.course-tapped{animation:none}}

.training-section{padding:40px 8% 65px;background:var(--paper)}
.training-heading{max-width:760px;margin-bottom:28px}.training-heading .eyebrow{color:#142d50;margin-bottom:14px}.training-heading h2{font-size:clamp(28px,3vw,42px);color:#142d50;margin:0 0 16px;line-height:1.35}.training-heading>p:last-child{font-size:17px;color:#58616c;margin:0}
.training-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:960px}
.training-photo{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;overflow:hidden;border:1px solid #142d5026;border-radius:18px;background:#e7e7e4;box-shadow:0 8px 22px #142d5008;transition:transform .22s,box-shadow .22s}
.training-photo img{display:block;width:100%;height:100%;object-fit:contain}.training-photo span{position:absolute;bottom:14px;right:14px;padding:6px 13px;border-radius:24px;background:#142d50;color:#fff;font-size:11px}
.training-photo:hover{transform:translateY(-4px);box-shadow:0 12px 26px #142d5018}.training-photo:focus-visible{outline:3px solid #142d50;outline-offset:5px}
@media(max-width:700px){.training-gallery{grid-template-columns:1fr;gap:20px;max-width:450px}.training-section{padding-top:20px;padding-bottom:40px}.training-heading>p:last-child{font-size:15px}}
@media(prefers-reduced-motion:reduce){.training-photo{transition:none}.training-photo:hover{transform:none}}

.training-item{margin:0;min-width:0}.training-photo img{object-fit:cover;object-position:center}.training-item figcaption{padding:18px 2px 0}.training-item h3{font-size:23px;color:#142d50;margin:0 0 8px;line-height:1.4}.training-item figcaption p{font-size:15px;line-height:1.8;color:#58616c;margin:0}
.english-page{padding:55px 8% 70px;background:var(--paper)}.english-page>.eyebrow{margin-top:35px}.english-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:45px}.english-heading h1{font-size:clamp(36px,4.5vw,64px);line-height:1.2;color:#142d50;margin:0 0 22px}.english-lead{font-size:25px;font-weight:700}.english-year{display:grid;place-items:center;width:180px;flex-shrink:0;aspect-ratio:1;border:1px dashed #142d5050;border-radius:50%;font-size:85px;font-weight:800;color:#142d50;background:#e7e7e4}.english-page h2{font-size:26px;color:#142d50;line-height:1.45}.english-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.english-focus article{border:1px solid #142d5020;padding:25px;border-radius:18px;background:#fffaf2}.english-focus article>span{font-size:13px;color:#68788d}.english-focus h3{font-size:21px;margin:20px 0 12px}.english-page p{color:#58616c}.english-scope{font-size:12px;margin:20px 0 40px}.english-support{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid #142d5020;padding-top:35px}.english-support article>span{font-size:12px;letter-spacing:1px;color:#142d50}.english-contact{margin-top:40px;padding:30px;border-radius:18px;background:#e7e7e4}.english-enquire{background:#142d50;margin-top:15px}.english-page .back-link{color:#142d50}@media(max-width:700px){.english-heading{flex-direction:column-reverse;align-items:flex-start;gap:15px}.english-year{width:110px;font-size:50px}.english-focus,.english-support{grid-template-columns:1fr}.english-contact{padding:24px}.english-lead{font-size:22px}}

.back-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #142d50;border-radius:28px;padding:9px 18px;color:#142d50;background:transparent;transition:background .2s,color .2s,transform .2s}.back-link:hover{background:#142d50;color:#fff;transform:translateY(-2px)}.back-link:focus-visible{outline:3px solid #142d5060;outline-offset:4px}.english-page .back-link:hover{color:#fff}@media(prefers-reduced-motion:reduce){.back-link{transition:none}.back-link:hover{transform:none}}

/* Reserve a separate character lane above the learning-route dots. */
.course-list{margin-top:30px;padding-top:170px}.course-list:before{top:146px}
.course-list .course-row .course-character{position:absolute;left:50%;bottom:calc(100% + 38px);width:136px;height:136px;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,16px) scale(.78);transform-origin:50% 100%;transition:opacity .25s ease,transform .38s cubic-bezier(.2,.8,.25,1.15),visibility .38s;z-index:2;padding:0;margin:0;border:0}
.course-character img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 90%;filter:drop-shadow(0 5px 5px #142d5016)}
.course-list .course-row:is(:hover,:focus-visible) .course-character{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.course-row:is(:hover,:focus-visible) .course-character img{animation:cindy-character-float 2.8s ease-in-out infinite}
@keyframes cindy-character-float{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}
@media(max-width:700px){.course-list{padding-top:0;margin-top:30px}.course-list:before{top:0}.course-list .course-row .course-character{left:auto;right:8px;bottom:calc(100% - 30px);width:78px;height:78px;transform:translateY(10px) scale(.8)}.course-list .course-row:is(:hover,:focus-visible) .course-character{transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.course-list .course-row .course-character{transition:none}.course-row:is(:hover,:focus-visible) .course-character img{animation:none}}

/* Compact desktop spacing; retain the existing phone layout. */
@media(min-width:701px){.course-list{margin-top:16px;padding-top:86px}.course-list:before{top:62px}.course-list .course-row .course-character{width:100px;height:100px;bottom:calc(100% + 27px)}}

/* A gentle gleam for the enquiry invitation. */
.enquiry-intro h2{position:relative;width:fit-content;max-width:100%;background:linear-gradient(110deg,#17191d 0%,#17191d 35%,#72849b 45%,#c8b987 49%,#17191d 55%,#17191d 100%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:enquiry-title-gleam 5.8s ease-in-out infinite}
.enquiry-intro h2:before,.enquiry-intro h2:after{position:absolute;content:'✦';color:#b39a5e;-webkit-text-fill-color:#b39a5e;font-size:22px;line-height:1;pointer-events:none;animation:enquiry-title-twinkle 3s ease-in-out infinite}
.enquiry-intro h2:before{right:-16px;top:-14px}.enquiry-intro h2:after{right:12px;bottom:-15px;font-size:15px;animation-delay:1.4s}
@keyframes enquiry-title-gleam{0%,20%{background-position:100% 50%}70%,100%{background-position:0% 50%}}
@keyframes enquiry-title-twinkle{0%,100%{opacity:.3;transform:scale(.75) rotate(-8deg)}50%{opacity:1;transform:scale(1.15) rotate(10deg)}}
@media(max-width:700px){.enquiry-intro h2:before{right:0;top:-18px;font-size:18px}.enquiry-intro h2:after{right:16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.enquiry-intro h2{animation:none;background:none;color:#17191d}.enquiry-intro h2:before,.enquiry-intro h2:after{animation:none;opacity:.75}}

/* Comfortable touch navigation and course cards on smaller screens. */
@media(max-width:700px){
  header{height:132px;padding-top:10px;padding-bottom:6px}
  header nav{gap:0;font-size:13px}
  header nav a{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;padding:8px 2px;text-align:center}
  header nav a[aria-current="page"]{padding-bottom:6px}
  html{scroll-padding-top:145px}
  .enquiry-field select{font-size:16px}
}
@media(min-width:701px) and (max-width:1100px){
  .course-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 24px}
  .course-list:before{display:none}
  .course-row p{min-height:0}
}
