@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--pink:#ed227c;--navy:#201c48;--blue:#09b4f4;--yellow:#ffdf22;--paper:#fff;--ink:#201c48}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,.display{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:800;line-height:1.02;letter-spacing:-.015em}h1{font-size:clamp(3.4rem,7.2vw,6.8rem)}h2{font-size:clamp(2.5rem,4.5vw,4rem)}h3{font-size:1.4rem;line-height:1.2}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:22px;background:#fff;position:relative;z-index:20;border-bottom:1px solid #e9e8ef}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img:first-child{width:44px}.brand img:last-child{width:159px}nav{display:flex;gap:24px;align-items:center;font-weight:700;font-size:14px}nav a{text-decoration:none}nav a:hover,nav a[aria-current=page]{color:#ba0d58}details.nav-group{position:relative}summary{cursor:pointer;list-style:none}summary:after{content:' +';color:#b51258}details .dropdown{position:absolute;left:-20px;top:35px;background:#fff;padding:16px;min-width:220px;box-shadow:0 15px 45px #201c4825;border-radius:12px;display:grid;gap:12px}.header-actions{display:flex;align-items:center;gap:12px}#language{border:1px solid #dcdbe5;background:white;font-weight:700;padding:9px 13px;border-radius:100px}.button{display:inline-block;background:var(--pink);color:white;text-decoration:none;border:0;border-radius:100px;padding:14px 26px;font-weight:700;box-shadow:0 4px 0 #b4165b;line-height:1.5}.button:hover{background:#cf1469;transform:translateY(-1px)}.button.small{font-size:14px;padding:11px 18px}.button.light{background:#fff;color:var(--navy);box-shadow:0 4px 0 #cecedc}.button.outline{background:transparent;color:var(--navy);box-shadow:none;border:1px solid #b8b6c8}.menu{display:none;border:0;background:none;font-size:26px}.wrap{max-width:1220px;margin:auto;padding:0 38px}.hero{background:var(--navy);color:white;overflow:hidden;position:relative;background-image:radial-gradient(#ffffff0b 1px,transparent 1px);background-size:24px 24px}.hero-grid{min-height:620px;display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:15px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:700;margin-bottom:24px}.eyebrow::before{content:'';display:inline-block;width:25px;height:3px;background:var(--blue);vertical-align:middle;margin-right:10px}.hero h1{margin-bottom:25px}.hero h1 span{display:table;background:var(--pink);padding:0 10px 5px;transform:rotate(-2deg);margin:6px 0}.hero h1 .yellow{background:var(--yellow);color:var(--navy);font-size:.63em;transform:rotate(1deg)}.hero h1 .azure{background:var(--blue);transform:rotate(-1deg)}.hero-copy{padding:45px 0}.hero-copy p{color:#d4d3e4;max-width:410px}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.hero .plain{color:#fff;font-weight:700;text-underline-offset:5px}.hero-photo{position:relative;align-self:end;padding-top:50px}.hero-photo img{width:100%;position:relative;z-index:2}.hero-photo:before{content:'';position:absolute;width:90%;aspect-ratio:1;border-radius:50%;border:1px dashed #09b4f477;left:5%;top:55px}.photo-label{position:absolute;right:5%;bottom:35px;z-index:3;padding:9px 17px;border-radius:50px;background:var(--yellow);color:var(--navy);font-weight:700;transform:rotate(-5deg)}.strip{background:var(--yellow);padding:18px;display:flex;justify-content:center;gap:35px;flex-wrap:wrap;font-weight:700;font-size:14px}.section{padding:85px 0}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-heading p{max-width:370px;margin:0;color:#68657e}.pink-text{color:#be0c58}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.feature img{height:190px;width:100%;object-fit:cover;border-radius:18px;margin-bottom:20px}.feature p{color:#68657e;font-size:15px}.feature h3{font-size:1.15rem}.muted{background:#f5f5fa}.program-card{background:white;border-radius:22px;overflow:hidden;border:1px solid #e5e3ef}.program-card img{width:100%;height:260px;object-fit:cover}.card-body{padding:28px}.card-body p{color:#66627c}.tag{display:inline-block;background:#e7f7ff;color:#155270;border-radius:50px;padding:5px 12px;font-size:13px;font-weight:700;margin-bottom:12px}.tag.pink{background:#ffe7f1;color:#a91050}.price{font-weight:700;font-size:1.6rem}.price small{font-size:14px;font-weight:400}.textlink{color:#b11156;text-underline-offset:4px;font-weight:700}.route-card{padding:30px;border-radius:16px;background:white;border:1px solid #dfddea}.route-card .number{font-size:36px;color:#b41358;font-family:'Barlow Condensed',sans-serif;font-weight:800}.route-card p{color:#66627c}.quote{padding:30px;border-left:4px solid var(--pink);background:#f7f7fb;border-radius:0 18px 18px 0}.quote .stars{color:#aa7800;letter-spacing:3px}.quote blockquote{margin:15px 0;font-size:17px;line-height:1.65}.quote cite{font-style:normal;font-weight:700;font-size:14px}.cta-band{background:var(--pink);color:white;padding:60px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{max-width:650px;margin:0}footer{background:var(--navy);color:#dad8e7;padding:60px 0 24px}footer h3{color:white}footer .brand{background:white;padding:12px;border-radius:10px;width:max-content;margin-bottom:20px}footer a{text-underline-offset:4px}footer ul{padding:0;list-style:none;display:grid;gap:10px}.footline{border-top:1px solid #ffffff25;margin-top:35px;padding-top:22px;font-size:13px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.floating{position:fixed;bottom:22px;right:22px;border-radius:50px;background:#201c48;color:white;border:2px solid white;box-shadow:0 5px 20px #201c4830;text-decoration:none;padding:12px 20px;font-weight:700;z-index:30;font-size:14px}.page-hero{padding:70px 0;background:var(--navy);color:white}.page-hero h1{font-size:clamp(3rem,6vw,5.2rem);max-width:850px;margin-bottom:22px}.page-hero p{max-width:680px;color:#d6d4e6;font-size:18px}.page-hero .eyebrow{color:var(--yellow)}.prose{max-width:820px}.prose p{color:#615d75;font-size:18px}.principle{padding:28px;border-top:3px solid var(--blue);background:#f6f6fa;border-radius:0 0 18px 18px}.principle p{color:#66627c}.note{padding:20px 24px;border-left:4px solid #ddac00;background:#fff8db;border-radius:0 10px 10px 0;font-size:15px;margin:25px 0}.note p:last-child{margin-bottom:0}.module{padding:26px;background:#f6f6fa;border-radius:14px;margin-top:20px}.module h3{margin-bottom:12px}.module ul{padding-left:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.large-photo{border-radius:22px;width:100%;max-height:480px;object-fit:cover}.contact-card{padding:32px;background:#f6f6fa;border-radius:20px}.contact-card a{overflow-wrap:anywhere}.steps{counter-reset:step;display:grid;gap:20px}.step{counter-increment:step;padding:25px 25px 25px 80px;position:relative;border:1px solid #dfddea;border-radius:16px}.step:before{content:counter(step);position:absolute;left:24px;top:24px;background:var(--yellow);width:34px;height:34px;border-radius:50%;text-align:center;font-weight:700}.step h3{margin-bottom:8px}.step p{margin:0;color:#68657e}.skip{position:absolute;left:0;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}:focus-visible{outline:3px solid #09b4f4;outline-offset:4px}.app-panel{background:#f5f5fa;border:1px solid #dddbe7;border-radius:20px;padding:35px;min-height:260px;display:flex;flex-direction:column;justify-content:center}.app-panel h3{font-size:1.8rem}.app-panel p{color:#68657e}
@media(min-width:1500px){.hero-grid{min-height:700px}}@media(max-width:1100px){nav{gap:15px}.brand img:last-child{width:135px}.header-actions .small{display:none}header{padding:0 25px}.four{grid-template-columns:repeat(2,1fr)}.hero-grid{min-height:580px}.hero h1{font-size:5rem}}@media(max-width:760px){header{height:80px;padding:0 20px;gap:12px}.brand img:first-child{width:35px}.brand img:last-child{width:130px}.menu{display:block}nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:25px;flex-direction:column;align-items:start;border-bottom:1px solid #dedce7;gap:20px}header.open nav{display:flex}details .dropdown{position:static;box-shadow:none;padding:15px 0 0 15px}.wrap{padding:0 24px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:45px 0 5px}.hero h1{font-size:4.6rem;max-width:500px}.hero-photo{padding-top:15px;max-width:500px;margin:auto}.hero-photo:before{top:25px}.hero-photo img{max-height:400px;object-fit:contain}.photo-label{bottom:15px}.hero-copy p{font-size:16px}.eyebrow{margin-bottom:20px;font-size:12px}.strip{gap:12px 25px;font-size:12px}.section{padding:55px 0}.section-heading{display:block}.section-heading p{margin-top:20px}.grid,.three,.split{grid-template-columns:1fr}.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature img{height:160px}.feature h3{font-size:1rem}.feature p{font-size:14px}.program-card img{height:240px}.cta-band .wrap{display:block}.cta-band h2{margin-bottom:25px}.page-hero{padding:48px 0}.page-hero p{font-size:16px}.floating{bottom:15px;right:15px;padding:10px 16px}.footline{padding-bottom:45px}.split{gap:30px}.header-actions{gap:8px}.quote{padding:24px}}

/* Centre the home hero CTAs and give WhatsApp its own green button. */
.hero-copy .actions{justify-content:center;align-items:center}
.hero-copy .button.whatsapp{background:#128c4a;color:#fff;box-shadow:0 4px 0 #096832;text-decoration:none}
.hero-copy .button.whatsapp:hover{background:#0d783e}
@media(max-width:760px){.hero-copy .actions{flex-direction:column;gap:18px}.hero-copy .actions .button{max-width:100%;text-align:center}}

.subject-strip{text-align:center;letter-spacing:.02em}.subject-strip span{overflow-wrap:anywhere}.location-strip{display:flex;justify-content:center;background:#fff;color:var(--navy);padding:16px 24px;font-weight:700;font-size:14px;border-bottom:1px solid #e9e8ef}

/* Branded fills for homepage program cards. */
.home-programs .program-card{background:var(--yellow);border-color:var(--yellow);color:#11091d}
.home-programs .program-card .card-body p,.home-programs .program-card .textlink{color:#11091d}
.home-programs .program-card .tag{background:var(--navy);color:#fff}
.home-programs .program-b{background:var(--navy);border-color:var(--navy);color:#fff}
.home-programs .program-b p,.home-programs .program-b .number,.home-programs .program-b .textlink{color:#fff}
.home-programs .program-c{background:var(--blue);border-color:var(--blue);color:#11091d}
.home-programs .program-c p,.home-programs .program-c .number,.home-programs .program-c .textlink{color:#11091d}



.why-features{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-symbol{height:220px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:88px;font-weight:800;margin-bottom:20px;background:#201c48;color:#ffdf22}.feature-symbol.assessment{background:#09b4f4;color:#201c48}@media(max-width:1100px){.why-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.feature-symbol{height:160px;font-size:64px}}

.course-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.course-button{border:2px solid #201c48;background:#fff;color:#201c48;border-radius:100px;font-size:14px;font-weight:700;padding:8px 15px;cursor:pointer}.course-button:hover,.course-button[aria-expanded=true]{background:#201c48;color:#fff}.course-picture{margin:0 0 20px;background:#fff;color:#201c48;border-radius:16px;padding:18px}.course-picture[hidden]{display:none}.course-picture h4{margin:0 0 12px;font-size:18px}.course-picture img{width:100%;height:auto;object-fit:contain;border-radius:10px}.course-placeholder{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #aaa7be;border-radius:10px;background:#f6f5fa;text-align:center;padding:20px}.course-placeholder span{font-size:42px;line-height:1}.course-placeholder p{margin:12px 0 0;font-size:15px}

.photo-label.branch-buttons{display:flex;gap:12px;padding:0;background:transparent;box-shadow:none;transform:none}.branch-buttons a{display:inline-flex;align-items:center;gap:12px;background:#ffdf22;color:#201c48;padding:12px 24px;border-radius:100px;text-decoration:none;font-weight:800;box-shadow:0 4px 0 #cdb000}.branch-buttons a:hover{background:#fff;transform:translateY(-2px)}@media(max-width:760px){.branch-buttons a{padding:10px 20px;font-size:16px}}

.course-buttons{gap:6px}.course-button{font-size:12px;padding:5px 11px;border-width:1px;line-height:1.5;min-height:32px}

.route-card>.tag{display:inline-block;margin-bottom:18px;background:#201c48;color:#fff}.route-card.program-b>.tag{background:#fff;color:#201c48}

.home-programs .program-label{display:block;font-size:14px;font-weight:700;margin-bottom:12px;background:none;color:inherit;padding:0;border-radius:0}.home-programs .program-card h3,.home-programs .route-card h3{display:table;max-width:100%;background:#201c48;color:#fff;border-radius:100px;padding:10px 20px;font-size:22px;line-height:1.25;margin-bottom:18px}.home-programs .route-card.program-b h3{background:#fff;color:#201c48}@media(max-width:760px){.home-programs .program-card h3,.home-programs .route-card h3{font-size:20px;padding:9px 18px}}

.competition-nav .dropdown{min-width:240px}.competition-group{font-weight:800;color:#201c48}.competition-links{display:flex;flex-wrap:wrap;gap:8px}.competition-links a{padding:5px 11px;border-radius:100px;background:#f2eff8;font-size:13px}#mechacode,#external,#yec,#yel,#fll,#nrc,#nroc,#wrc{scroll-margin-top:24px}

nav .competition-group,nav .competition-group[aria-current=page]{color:var(--navy)}
nav .competition-group:hover,nav .competition-group[aria-current=page]:hover{color:#ba0d58}

.photo-label.branch-buttons{left:0;right:0;justify-content:center;gap:10px}.branch-buttons a{background:var(--blue);padding:8px 18px;font-size:14px;gap:8px;box-shadow:0 3px 0 #0789b9}@media(max-width:760px){.branch-buttons a{padding:8px 16px;font-size:14px}}

.subject-strip{gap:12px 20px;align-items:center}.subject-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.subject-item svg{width:19px;height:19px;flex-shrink:0}.subject-item+.subject-item:before{content:"·";margin-right:13px}@media(max-width:600px){.subject-strip{gap:10px 14px;padding:14px 12px;font-size:12px}.subject-item{gap:5px}.subject-item svg{width:17px;height:17px}.subject-item+.subject-item:before{margin-right:4px}}

a.button[href*="wa.me"],a.button[href*="api.whatsapp.com"],a.whatsapp,a.floating[href*="wa.me"]{background:#25D366;color:#102d1b;border-color:#25D366;box-shadow:0 3px 0 #128C7E}a.button[href*="wa.me"]:hover,a.button[href*="api.whatsapp.com"]:hover,a.whatsapp:hover,a.floating[href*="wa.me"]:hover{background:#20bd5a;color:#102d1b}

a.floating[href*="wa.me"]{width:54px;height:54px;padding:13px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:white}.floating svg{width:26px;height:26px;display:block}a.floating[href*="wa.me"]:hover{color:white}

h2.home-feature-heading{font-size:clamp(2.9rem,5.1vw,4.5rem)}

.welcome-mascot{display:flex;align-items:center;gap:12px;margin:0 0 18px}.welcome-wave{display:block;flex:0 0 96px;width:96px;height:96px;background:url('/assets/mechacode-welcome-wave.png') 0 0 /192px 192px no-repeat;animation:welcome-wave-frames 1.3s step-end infinite}.welcome-speech{position:relative;background:white;color:#201c48;border-radius:18px 18px 18px 4px;padding:12px 16px;font-size:16px;font-weight:800;line-height:1.35;max-width:190px;box-shadow:0 4px 0 #09b4f4}.welcome-speech:before{content:"";position:absolute;left:-8px;bottom:12px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:10px solid white}@keyframes welcome-wave-frames{0%,100%{background-position:0 0}25%{background-position:-96px 0}50%{background-position:0 -96px}75%{background-position:-96px -96px}}@media(max-width:760px){.welcome-wave{width:80px;height:80px;flex-basis:80px;background-size:160px 160px;animation-name:welcome-wave-mobile}.welcome-speech{font-size:14px;padding:10px 13px;max-width:165px}.welcome-mascot{margin-bottom:16px}}@keyframes welcome-wave-mobile{0%,100%{background-position:0 0}25%{background-position:-80px 0}50%{background-position:0 -80px}75%{background-position:-80px -80px}}@media(prefers-reduced-motion:reduce){.welcome-wave{animation:none}}

.welcome-mascot{gap:10px;margin-bottom:14px}.welcome-wave{position:relative;width:64px;height:64px;flex-basis:64px;background:none;animation:none}.welcome-wave:before,.welcome-wave:after{content:"";position:absolute;inset:0;background:url('/assets/mechacode-welcome-wave.png') 0 0 /200% 200% no-repeat}.welcome-wave:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 51%,34% 51%,34% 20%,0 20%)}.welcome-wave:after{clip-path:polygon(0 20%,34% 20%,34% 51%,0 51%);transform-origin:32% 48%;animation:welcome-hand-only 1.2s ease-in-out infinite}.welcome-speech{font-size:14px;padding:10px 13px;max-width:170px;transform-origin:left center;animation:welcome-speech-in-out 7s ease-in-out infinite}@keyframes welcome-hand-only{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(10deg)}}@keyframes welcome-speech-in-out{0%,100%{opacity:0;transform:scale(.9)}12%,75%{opacity:1;transform:scale(1)}88%{opacity:0;transform:scale(.9)}}@media(max-width:760px){.welcome-wave{width:56px;height:56px;flex-basis:56px;background:none;animation:none}.welcome-speech{font-size:13px;padding:9px 12px;max-width:155px}}@media(prefers-reduced-motion:reduce){.welcome-wave:after,.welcome-speech{animation:none}.welcome-speech{opacity:1;transform:none}}

.hero-copy .actions>.button[href="/registration/"]{background:white;color:var(--navy);box-shadow:0 4px 0 #cecedc}.hero-copy .actions>.button[href="/registration/"]:hover{background:#f2f1f8}

.welcome-speech{font-size:12px;padding:7px 10px;max-width:145px;border-radius:13px 13px 13px 3px;line-height:1.35}.welcome-speech:before{left:-6px;bottom:9px;border-top-width:6px;border-bottom-width:6px;border-right-width:8px}@media(max-width:760px){.welcome-speech{font-size:11px;padding:6px 9px;max-width:130px}}

.page-hero h1.about-label{font-family:'DM Sans',Arial,sans-serif;font-size:13px;font-weight:700;line-height:1.65;letter-spacing:.15em;margin-bottom:24px;max-width:none}.short-nav-top{padding-top:22px;padding-bottom:22px}.short-nav-top .short-course-nav{margin:0}.route-card#fll{background:#dff5ff;border-color:#a8ddf4}.route-card#nrc{background:#fff3be;border-color:#efdc87}.route-card#nroc{background:#fce0ed;border-color:#eeb4cf}.route-card#wrc{background:#e8e0ff;border-color:#ccbbf2}.route-card#yec{background:#ddf5e8;border-color:#afe0c7}.route-card#yel{background:#ffe8d5;border-color:#eac8a9}.route-card:is(#fll,#nrc,#nroc,#wrc,#yec,#yel){color:#201c48}.route-card:is(#fll,#nrc,#nroc,#wrc,#yec,#yel)>p{color:#39334f}

.about-principles{padding:42px 0}.about-principles h2{margin-bottom:22px}.about-principles .grid{gap:14px}.about-principles .principle{padding:18px 20px}.about-principles .principle h3{margin-bottom:8px;font-size:18px}.about-principles .principle p{margin-bottom:0;font-size:14px;line-height:1.55}@media(max-width:760px){.about-principles{padding:32px 0}.about-principles .grid{gap:12px}.about-principles .principle{padding:15px 16px}}

.curriculum-frameworks{padding:48px 0}.framework-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.framework-card{padding:24px;border-radius:18px;border:1px solid #dedbe8;background:#f5fbff;border-top:5px solid var(--blue);display:flex;flex-direction:column}.framework-design{background:#fffbee;border-top-color:var(--yellow)}.framework-fourc{background:#fff3f8;border-top-color:var(--pink)}.framework-label{font-size:12px;letter-spacing:.06em;font-weight:800;margin-bottom:16px}.framework-card h3{font-size:22px;margin-bottom:14px}.framework-card>p{font-size:14px;color:#514b65;line-height:1.6}.framework-card ol,.framework-card ul{padding-left:20px;margin:0 0 18px;font-size:14px}.framework-card li{padding-left:3px;margin:12px 0}.framework-card li b,.framework-card li span{display:block}.framework-card li span{color:#514b65;font-size:13px;line-height:1.55;margin-top:3px}.framework-source{font-size:12px;font-weight:700;margin-top:auto;text-underline-offset:3px}.framework-card .framework-footnote{font-size:12px}@media(max-width:900px){.framework-grid{grid-template-columns:1fr}.framework-card{padding:20px}.curriculum-frameworks{padding:34px 0}}

.principle-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}.about-principles .principle-heading h3{margin:0}.principle-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#d8f3ff;color:#201c48}.principle-icon svg{width:23px;height:23px}.principle-icon-1{background:#ffe2ee}.principle-icon-2{background:#fff0ad}.principle-icon-3{background:#dcf5e7}.principle-icon-4{background:#e9e1ff}

.why-features .feature-app-phone{width:100%;object-fit:contain;background:#7bd6fa;border-radius:18px}

.about-signboard-wrap{padding-top:30px}.about-signboard-photo{display:block;width:100%;height:auto;border-radius:20px}.why-features img[src$="project-assessment-photo.jpg"]{object-position:50% 52%}.why-features img[src$="structured-curriculum-photo.jpg"]{object-position:58% 45%}.why-features img[src$="experienced-teacher-photo.jpg"]{object-position:55% 43%}.why-features .feature-app-phone{background:#81ddf7}@media(max-width:760px){.about-signboard-wrap{padding-top:20px}.about-signboard-photo{border-radius:14px}}

.short-courses-photo{width:100%;height:auto;max-height:560px;object-fit:cover;object-position:center;border-radius:22px;margin:0 0 32px}@media(max-width:760px){.short-courses-photo{border-radius:16px;margin-bottom:24px}}

.competition-name{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px}.competition-name h2{margin:0}.competition-name .yel-logo{width:150px;height:auto;object-fit:contain;border-radius:10px}.yel-games{display:grid;gap:20px;margin-top:18px}.yel-games figure{margin:0}.yel-games img{width:100%;height:auto;border-radius:12px}.yel-games figcaption{font-weight:700;margin-top:8px;font-size:15px}

.why-features img[src$="kenapa-nilai.jpg"]{object-position:center top}.program-card img[src$="roboticist-binaan.jpg"]{object-position:center top}

.external-logo{width:150px;height:85px;object-fit:contain;background:white;border-radius:10px;padding:8px}.external-logo-sprite{display:block;width:245px;height:85px;background-repeat:no-repeat;background-size:1800px auto;background-color:#f4f4f4;border-radius:8px}.nrc-logo{background-image:url('/assets/nrc-header.jpg');background-position:-1005px -12px}.nroc-logo{background-image:url('/assets/nroc-header.png');background-position:-984px -10px}.external-photo{margin:24px 0 0}.external-photo img{width:100%;max-height:360px;object-fit:contain;border-radius:14px;background:white}

.nroc-logo{background-size:1600px auto;background-position:-875px -9px}

.framework-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.framework-kp2027{background:#fff3f8;border-top-color:var(--pink)}@media(max-width:900px){.framework-grid{grid-template-columns:1fr}}

.app-icon-panel{display:flex;align-items:center;justify-content:center;padding:28px;min-height:260px}.mechacode-app-icon{width:240px;max-width:100%;height:auto;object-fit:contain}

.program-card img[src$="roboticist-binaan.jpg"]{height:auto;max-height:none;object-fit:contain;object-position:center}

.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.social-links a{font-weight:700;text-underline-offset:4px}.contact-social{margin-top:28px}.contact-social h3{margin-bottom:14px}

.program-card img[src$="roboticist-binaan.jpg"]{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;object-position:center 25%}

.app-icon-panel{padding:0;min-height:0}.mechacode-app-preview{width:100%;height:auto;border-radius:22px;object-fit:contain}.page-hero:has(.menu-mascot),.catalogue-hero:has(.menu-mascot){padding-top:10px}

.about-story{max-width:none}.principles-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:22px;margin-bottom:30px}

.social-links a{display:inline-flex;align-items:center;gap:8px}.social-links img{display:block;width:20px;height:20px;object-fit:contain;flex-shrink:0}footer .social-links img{filter:invert(1)}

.home-programme-photo{display:block;width:100%;height:210px;object-fit:cover;border-radius:16px;margin-bottom:24px}.home-programme-photo[src$="school-programme-group.jpg"]{object-position:center 60%}

.why-features .feature-app-phone{object-fit:cover;object-position:center}.about-story-section{padding-bottom:18px}.about-story p:last-child{margin-bottom:0}.about-story-section+.curriculum-frameworks{padding-top:20px}

.about-story p{font-size:16px;line-height:1.65}@media(max-width:760px){.about-story p{font-size:15px}}

.hero-copy{padding-top:12px}@media(max-width:760px){.hero-copy{padding-top:12px}}

.home-programs .route-card:is([data-program="event-program"],[data-program="school-program"]){background:var(--navy);border-color:var(--navy);color:#fff}.home-programs .route-card:is([data-program="event-program"],[data-program="school-program"]) :is(p,.number,.textlink){color:#fff}.home-programs .route-card:is([data-program="event-program"],[data-program="school-program"]) h3{background:#fff;color:var(--navy)}.home-programs .route-card:is([data-program="short-courses"],[data-program="school-holiday"]){background:var(--blue);border-color:var(--blue);color:#11091d}.home-programs .route-card:is([data-program="short-courses"],[data-program="school-holiday"]) :is(p,.number,.textlink){color:#11091d}

.parent-reviews{padding:38px 0}.parent-reviews .section-heading{margin-bottom:22px}.parent-reviews .section-heading h2{margin-bottom:0}.parent-reviews .grid{gap:16px}.parent-reviews .quote{padding:20px 22px}.parent-reviews .quote blockquote{margin:10px 0;line-height:1.5}.parent-reviews .quote cite{font-size:13px}@media(max-width:760px){.parent-reviews{padding:28px 0}.parent-reviews .section-heading{margin-bottom:18px}.parent-reviews .quote{padding:16px 18px}.parent-reviews .quote blockquote{font-size:15px}}

.holiday-poster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.holiday-poster-grid img{display:block;width:100%;height:auto;border-radius:12px}
.holiday-poster-actions{justify-content:center;margin-top:28px}
.other-courses-label{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:16px;font-weight:700}
.other-courses-label .number{margin:0;font-size:30px;line-height:1}
@media(max-width:760px){.holiday-poster-grid{grid-template-columns:1fr;gap:22px}.holiday-posters{padding-top:28px}}

.route-card[data-program="school-holiday"] .home-programme-photo{height:auto;aspect-ratio:auto;object-fit:contain;background:white}

.cta-band .trial-mascot{display:inline-flex;text-decoration:none;margin:0;align-items:center}.trial-mascot .welcome-wave{width:80px;height:80px;flex-basis:80px}.trial-mascot .welcome-speech{font-size:17px;padding:16px 22px;max-width:none;animation:none;opacity:1;transform:none}.trial-mascot:focus-visible{outline:3px solid white;outline-offset:8px;border-radius:12px}@media(max-width:760px){.trial-mascot .welcome-wave{width:64px;height:64px;flex-basis:64px}.trial-mascot .welcome-speech{font-size:15px;padding:14px 18px}}

.course-label,.course-label:hover{display:inline-block;cursor:default;background:#fff;color:#201c48}

.product-category+ .product-category{margin-top:60px}.product-category>h2{font-size:44px;margin-bottom:26px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.product-card{border:1px solid #ddd9ea;border-radius:18px;overflow:hidden;background:white;display:flex;flex-direction:column}
.product-art{height:220px;background:white;display:flex;align-items:center;justify-content:center;padding:12px}
.product-art img,.product-art svg{display:block;width:100%;height:100%;object-fit:contain;overflow:hidden}
.product-name-art{font-family:'Barlow Condensed',sans-serif;font-size:40px;line-height:1;color:#201c48;text-align:center}
.product-info{padding:20px;border-top:1px solid #eeebf5;display:flex;flex-direction:column;flex:1}
.product-info h3{font-size:17px;line-height:1.4;margin:0 0 12px}.product-price{color:#cf0063;font-size:23px;font-weight:800;margin:auto 0 12px}
.product-info .textlink{font-size:13px}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-art{height:165px;padding:8px}.product-info{padding:15px}.product-info h3{font-size:14px}.product-price{font-size:20px}.product-category>h2{font-size:36px}}
@media(max-width:360px){.product-grid{grid-template-columns:1fr}}
