:root{--teal:#202c56;--deep:#182140;--lime:#44428f;--ink:#202943;--muted:#f3f4f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;font:18px/1.9 Tahoma,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,4.2vw,64px);line-height:1.45}h2{font-size:clamp(30px,3.2vw,46px);line-height:1.55;color:var(--teal);margin-bottom:26px}h3{font-size:24px}p{color:#626a80}header{display:flex;align-items:center;justify-content:space-between;padding:14px 5%;background:#fffffff5;position:sticky;top:0;z-index:20;box-shadow:0 6px 25px #202c5609;gap:25px}.notice{background:#eef0f8;color:#37366c;text-align:center;font-size:13px;padding:7px}.brand{display:flex;gap:15px;align-items:center;font-weight:bold;font-size:17px}.brand img{width:68px;height:68px;object-fit:contain;border-radius:50%}.sub{display:block;font-size:14px;font-weight:normal}nav.desktop{display:flex;gap:25px;font-size:16px}nav a:hover{color:var(--lime)}.pill,.outline{display:inline-flex;gap:30px;justify-content:center;align-items:center;border-radius:60px;padding:15px 31px;background:var(--lime);color:white;border:0;font-weight:bold;font-size:18px}.pill:hover{filter:brightness(.95)}.small{font-size:15px;padding:10px 20px}.outline{background:#ffffff13;border:1px solid #ffffff70}.teal{background:var(--teal)}.menu{display:none;background:none;border:0;font-size:30px;color:var(--ink)}.mobile{position:fixed;inset:100px 0 0;z-index:19;background:#f4f5f9;padding:30px 6%;overflow:auto}.mobile a{display:block;border-bottom:1px solid #dedfeb;padding:14px}.mobile .pill{margin-top:20px;text-align:center}.hero{min-height:670px;background:var(--teal);position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:linear-gradient(270deg,#202c56 3%,#202c56e8 32%,#202c5615 85%),url('assets/hero.png') center/cover}.hero-copy{position:relative;width:58%;padding:70px 6%;color:white}.hero-copy p{color:#e1e4f1;max-width:550px;font-size:21px}.badge{background:var(--lime);display:inline-block;border-radius:30px;padding:5px 20px;font-size:15px;margin-bottom:25px}.actions{display:flex;gap:15px;flex-wrap:wrap}.values{display:grid;grid-template-columns:repeat(4,1fr);background:var(--teal);color:white;text-align:center;padding:60px 5%;gap:30px}.values p{color:#cbd1e7;font-size:16px}.values h3{margin:20px 0 5px}.ring{display:inline-grid;place-items:center;width:84px;height:84px;border:1px solid #ffffff45;border-radius:50%;outline:1px solid #44428f60;outline-offset:12px;color:#c7c7f1;font-size:34px;background:#ffffff0d}.section{padding:90px max(6%,calc((100vw - 1220px)/2))}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.eyebrow{display:block;color:var(--lime);font-weight:bold;font-size:16px;margin-bottom:17px}.brand-panel{background:#f4f5f9;border-radius:26px;padding:45px;text-align:center}.brand-panel img{width:100%;max-width:310px;mix-blend-mode:multiply}.brand-panel span{display:block;color:#44428f;margin-top:20px;font-size:24px}.text-link{color:var(--teal);font-weight:bold}.center{text-align:center;max-width:880px;margin:0 auto 50px}.center:last-child{margin-bottom:0}.muted{background:#f4f5f8}.rule{width:70px;height:2px;background:var(--lime);margin:0 auto 24px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-bottom:50px}.card{overflow:hidden;border-radius:23px;background:white;box-shadow:0 12px 25px #202c5608}.card-top{height:170px;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;background:linear-gradient(140deg,#5756a3,var(--teal));color:white}.card:nth-child(even) .card-top{background:linear-gradient(140deg,#5a648f,#2e3864)}.card-top span{color:#deddf8;font-size:14px}.card h3{font-size:23px;margin:5px 0 0}.card p{padding:22px;font-size:16px;margin:0}.card a{display:block}.info-panel{border:1px solid #e0e3ef;padding:35px;border-radius:22px;background:#fff}.info-panel p{margin:0}.cta{text-align:center;background:var(--teal);padding:80px 20px}.cta h2{color:white}.cta p{color:#d1d7ec}form{max-width:880px;margin:auto;padding:35px;border-radius:24px;background:white;border:1px solid #e0e3ef}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;color:#505b77;font-size:16px;margin-bottom:20px}input,select,textarea{width:100%;display:block;margin-top:7px;padding:13px;border:1px solid #d3d8e6;border-radius:8px;background:white;color:var(--ink);min-height:50px}#formStatus{margin-top:25px;padding:20px;background:#eef0f8;border-radius:12px}#careers{margin-top:50px}footer{background:var(--teal);color:white;padding:60px 6% 25px}footer p{color:#c8cfe4;font-size:16px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}footer a{display:block;color:#d3d9ed;font-size:16px;margin-bottom:10px}.copyright{border-top:1px solid #ffffff25;margin-top:40px;padding-top:25px;text-align:center;color:#c8cfe4;font-size:14px}.stage-row{padding:45px 0;border-bottom:1px solid #dfe2ed}.stage-row ul{padding-right:25px;color:#5b647e}.stage-row li{margin:10px 0}.stage-row .badge{color:white}a:focus-visible,button:focus-visible{outline:3px solid #8584c8}@media(max-width:1000px){.desktop,nav.desktop{display:none}.menu{display:block}.cards{grid-template-columns:repeat(2,1fr)}.hero-copy{width:68%}.about{gap:35px}}@media(max-width:650px){body{font-size:17px}header{padding:12px 5%}.brand img{width:57px;height:57px}.brand{font-size:14px}.notice{font-size:12px}.hero{display:block;padding-top:360px;min-height:auto}.hero-photo{height:460px;background:linear-gradient(0deg,#202c56 0%,#202c5610 60%),url('assets/hero.png') 30% center/cover}.hero-copy{width:100%;padding:25px 6% 55px}.hero-copy h1{font-size:36px}.hero-copy p{font-size:18px}.actions{gap:10px}.pill,.outline{padding:13px 22px;font-size:16px}.values{grid-template-columns:1fr 1fr;padding:50px 6%;gap:45px 20px}.values h3{font-size:25px}.section{padding:65px 6%}.about{display:block}.brand-panel{margin-top:35px}.cards{grid-template-columns:1fr}.card-top{height:180px}.card h3{font-size:26px}.card p{font-size:17px}.center{margin-bottom:35px}.form-grid{grid-template-columns:1fr;gap:0}form{padding:22px}.footer-grid{grid-template-columns:1fr;gap:25px}.mobile{top:125px}.cta{padding:60px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Transparent hero navigation; solid navigation while scrolling. */
body:has(.hero){--header-height:96px}body:has(.hero) header{margin-bottom:calc(-1 * var(--header-height));height:var(--header-height);background:transparent;color:white;box-shadow:none;transition:background-color .25s,color .25s,box-shadow .25s}body:has(.hero) header .menu{color:inherit}body:has(.hero) .hero-copy{padding-top:150px}body:has(.hero) header.is-scrolled,body:has(.hero) header.menu-open{background:#fff;color:var(--ink);box-shadow:0 5px 24px #202c5612}.mobile{top:var(--mobile-menu-top,96px)}@media(max-width:650px){body:has(.hero){--header-height:84px}body:has(.hero) .hero-copy{padding-top:25px}}@media(prefers-reduced-motion:reduce){body:has(.hero) header{transition:none}}

.contact-links{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.contact-links a{font-size:16px;text-decoration:underline;text-underline-offset:5px}.contact-links a:hover{color:var(--lime)}footer .contact-links a{margin:0}

/* School identity: navy, logo indigo, white. */
.hero-photo{background:linear-gradient(270deg,#202c56 3%,#202c56df 32%,#202c5610 85%),url('assets/hero.png') center/cover}
.hero .pill,.cta .pill{background:#fff;color:#36367c}.hero .badge{background:#ffffff18;border:1px solid #ffffff45;color:#fff}.hero .outline{color:#fff}.values .ring{color:#dbdbff;outline-color:#a5a3d070}.card-top span{color:#e0defa}.contact-links a:hover{color:#44428f}footer .contact-links a:hover{color:#fff}nav a:hover{color:#44428f}header:not(.is-scrolled):not(.menu-open) nav a:hover{color:#d6d5ff}body:has(.hero) header:not(.is-scrolled):not(.menu-open)>.pill{background:#fff;color:#36367c}.text-link,.eyebrow{color:#44428f}.teal{background:#44428f}.brand-panel span{color:#44428f}
@media(max-width:650px){.hero-photo{background:linear-gradient(0deg,#202c56 0%,#202c5610 60%),url('assets/hero.png') 30% center/cover}}

.social-icons{display:flex;align-items:center;gap:16px;margin:24px 0 12px;flex-wrap:wrap}.social-icons .social-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:#44428f;color:#fff;text-decoration:none;margin:0;transition:background-color .2s,transform .2s}.social-icon svg{width:25px;height:25px;display:block}footer .social-icons .social-icon{background:#ffffff16;color:#fff}.social-icons .social-icon:hover{background:#5b59a4;color:#fff;transform:translateY(-2px)}.social-icons .social-icon:focus-visible{outline:3px solid #aaa8e3;outline-offset:4px}@media(prefers-reduced-motion:reduce){.social-icons .social-icon{transition:none}.social-icons .social-icon:hover{transform:none}}

.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.card-top{position:relative;height:260px;padding:0;overflow:hidden}.card-top img{width:100%;height:100%;object-fit:cover;display:block}.card-top:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#182140ee,transparent 80%);pointer-events:none}.stage-caption{position:absolute;inset:auto 25px 22px;z-index:1}.stage-caption span{color:#fff;font-size:15px}.card .stage-caption h3{font-size:25px;color:#fff}.card p{padding:25px;line-height:1.95}.founding{display:block;margin:22px auto 0;color:#44428f;font-size:32px}.founding small{display:block;font-size:15px;font-weight:normal}.stage-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:50px 0}.stage-row>img{width:100%;height:360px;object-fit:cover;border-radius:24px}.stage-row:nth-child(even)>img{order:2}.age-label{display:inline-block;background:#e9e9f5;color:#44428f;border-radius:30px;padding:3px 18px;margin-bottom:15px;font-size:16px}.social-icons{gap:18px}.social-icons .social-icon{width:58px;height:58px;flex-basis:58px}.social-icon svg{width:26px;height:26px}@media(max-width:900px){.cards{gap:16px}.card-top{height:220px}.card .stage-caption h3{font-size:21px}.stage-row{gap:30px}}@media(max-width:650px){.cards{grid-template-columns:1fr;gap:26px}.card-top{height:250px}.card .stage-caption h3{font-size:26px}.stage-row{grid-template-columns:1fr;gap:26px}.stage-row:nth-child(even)>img{order:0}.stage-row>img{height:300px}}

/* Keep the photograph as a fallback while the silent hero video loads. */
.hero-photo{background:url('assets/hero.png') center/cover}
.hero-photo video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .4s}
.hero-photo video.is-ready{opacity:1}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,#202c56 3%,#202c56df 32%,#202c5610 85%);pointer-events:none}


@media(max-width:650px){.hero-photo{background-position:30% center}.hero-photo video{object-position:30% center}.hero-photo:after{background:linear-gradient(0deg,#202c56 0%,#202c5610 60%)}}
@media(prefers-reduced-motion:reduce){.hero-photo video{transition:none}}

/* Fees and discounts: scoped to the existing section. */
#fees .fees-documents{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 40px}#fees .fees-documents a{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1 1 240px;padding:18px 22px;border:1px solid #e0e3ef;border-radius:16px;background:#f4f5f9;color:#44428f;font-size:16px;font-weight:bold}#fees .fees-documents a span{font-size:14px;white-space:nowrap}#fees .fees-table-wrap{max-width:100%;overflow-x:auto;margin:24px 0 30px;border:1px solid #e0e3ef;border-radius:16px}#fees table{width:100%;border-collapse:collapse;font-size:16px;text-align:right}#fees caption{text-align:right;padding:20px;font-size:20px;font-weight:bold;color:#202c56;background:#fff}#fees th,#fees td{padding:16px 18px;border-bottom:1px solid #e0e3ef;vertical-align:middle}#fees thead{background:#202c56;color:#fff}#fees tbody tr:nth-child(even){background:#f4f5f9}#fees tbody th{font-weight:bold}#fees tbody tr:last-child>*{border-bottom:0}#fees td bdi{white-space:nowrap}#fees .fees-note{font-size:16px;line-height:1.9}#fees .fees-details{margin-top:16px;border:1px solid #e0e3ef;border-radius:18px;overflow:hidden}#fees summary{padding:22px 25px;background:#f4f5f9;color:#202c56;font-size:20px;font-weight:bold;cursor:pointer}#fees summary:focus-visible{outline:3px solid #8584c8;outline-offset:-4px}#fees .fees-detail-body{padding:8px 26px 26px;min-width:0}#fees .fees-detail-body h3{margin-top:26px}#fees li{margin:10px 0}#fees .fees-bank{padding:20px;background:#f4f5f9;border-radius:12px}#fees .fees-bank p{margin:0;overflow-wrap:anywhere}#fees .fees-bank bdi{display:inline-block;max-width:100%}@media(max-width:650px){#fees .fees-documents{gap:10px}#fees .fees-detail-body{padding:8px 16px 20px}#fees summary{font-size:18px;padding:18px 16px}#fees th,#fees td{padding:12px}#fees table{min-width:580px}#fees caption{font-size:18px}#fees .fees-bank{padding:14px}#fees .fees-bank bdi{font-size:16px}}

/* Future Energy Camp */
#programs .energy-partners{max-width:880px;margin:0 auto 38px;padding:26px;text-align:center;background:#fff;border:1px solid #e0e3ef;border-radius:22px}#programs .energy-partners .eyebrow{margin-bottom:12px}#programs .energy-partners p{margin:6px 0;font-size:17px;color:#202c56}#programs .energy-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}#programs .energy-photo{margin:0;min-width:0;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 12px 25px #202c5608}#programs .energy-photo a{display:block;aspect-ratio:4/3;overflow:hidden}#programs .energy-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}#programs .energy-photo img[src$="solar-practice-1.jpeg"]{object-position:center 22%}#programs .energy-photo img[src$="solar-practice-2.jpeg"]{object-position:center 48%}#programs figcaption{padding:18px 22px;font-size:16px;color:#202c56}#programs .portrait{max-width:100%}@media(max-width:650px){#programs .energy-gallery{grid-template-columns:1fr;gap:22px}#programs .energy-partners{padding:22px 16px}#programs .energy-partners p{font-size:16px}#programs figcaption{padding:16px 18px}}

#programs .energy-participants{margin:0 0 38px;padding:30px;background:#fff;border:1px solid #e0e3ef;border-radius:22px}#programs .energy-participants h3{color:#202c56;margin-bottom:24px}#programs .energy-participants ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#programs .energy-participants li{padding:15px 18px;background:#f4f5f9;border-radius:12px;font-size:17px;color:#202c56;overflow-wrap:break-word}@media(max-width:1000px){#programs .energy-participants ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#programs .energy-participants{padding:22px 16px}#programs .energy-participants ul{grid-template-columns:1fr}#programs .energy-participants h3{font-size:22px}}

#talented-students .talent-group{margin-top:28px}#talented-students .talent-group h3{color:#44428f;margin-bottom:20px}#talented-students ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#talented-students li{padding:19px 22px;border:1px solid #e0e3ef;border-radius:16px;background:#f4f5f9;color:#202c56;font-size:17px;overflow-wrap:break-word}@media(max-width:1000px){#talented-students ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#talented-students ul{grid-template-columns:1fr}#talented-students li{padding:16px 18px}}

/* Bilingual navigation and direction-aware layout. */
.language-switch{display:flex;align-items:center;gap:10px;flex-shrink:0;white-space:nowrap;font:16px/1.5 Arial,sans-serif}.language-switch a{padding:10px 2px;opacity:.7}.language-switch a[aria-current="true"]{font-weight:bold;opacity:1}.language-switch span{opacity:.55}.language-switch a:hover{opacity:1}html[dir="ltr"] #fees table,html[dir="ltr"] #fees caption{text-align:left}html[dir="ltr"] .hero-photo:after{background:linear-gradient(90deg,#202c56 3%,#202c56df 32%,#202c5610 85%)}html[dir="ltr"] .stage-row ul{padding-right:0;padding-left:25px}html[dir="ltr"] nav.desktop{gap:18px}html[dir="ltr"] header .brand{font-size:15px}html[dir="ltr"] .hero-copy{width:68%}html[dir="ltr"] #fees .fees-documents a{flex-basis:260px}html[dir="ltr"] #fees td,html[dir="ltr"] #fees th{overflow-wrap:normal}@media(max-width:1200px){header .desktop,header nav.desktop{display:none}header .menu{display:block}.language-switch{margin-inline-start:auto}}@media(max-width:650px){header{gap:10px}.language-switch{font-size:14px;gap:7px}header .brand{gap:8px}header .brand img{width:48px;height:48px}html[dir="ltr"] header .brand{font-size:12px}html[dir="ltr"] .hero-copy{width:100%}html[dir="ltr"] .hero-photo:after{background:linear-gradient(0deg,#202c56 0%,#202c5610 60%)}}

/* English desktop hero only; retain the original mobile layout. */
@media(min-width:1001px){html[lang="en"] .hero-copy{width:62%;max-width:850px;padding-inline:6%}html[lang="en"] .hero-copy h1{font-size:clamp(34px,3.3vw,50px);line-height:1.2;letter-spacing:-.025em;text-wrap:balance;margin-bottom:24px}html[lang="en"] .hero-copy p{font-size:19px;line-height:1.7;max-width:510px}html[lang="en"] .hero .actions{gap:12px}html[lang="en"] .hero .actions a{font-size:16px;padding:13px 24px}html[lang="en"] .hero-photo{transform:scaleX(-1)}html[lang="en"] .hero-photo:after{background:linear-gradient(270deg,#202c56f2 0%,#202c56d9 33%,#202c5640 62%,#202c5600 88%)}html[lang="en"] body:has(.hero) header:not(.is-scrolled):not(.menu-open){background:linear-gradient(180deg,#202c56b8,#202c5680)}}

/* Conduct and attendance */
#conduct .conduct-banner{display:block;width:100%;height:auto;border-radius:20px;margin-bottom:32px}#conduct details{border:1px solid #dfe3ee;border-radius:16px;background:white;margin-bottom:16px;overflow:hidden}#conduct summary{cursor:pointer;padding:23px 26px;font-size:21px;font-weight:bold;color:#202c56;background:#f3f4f8}#conduct summary:focus-visible{outline:3px solid #8584c8;outline-offset:-4px}#conduct .conduct-content{padding:28px;min-width:0}#conduct .conduct-visual{display:block;max-width:100%;width:auto;max-height:400px;height:auto;object-fit:contain;margin:0 auto 28px;border-radius:12px}#conduct .conduct-table{overflow-x:auto;border:1px solid #dfe3ee;border-radius:14px;margin:22px 0}#conduct table{border-collapse:collapse;width:100%;text-align:start;font-size:17px}#conduct th,#conduct td{padding:19px 22px;border-bottom:1px solid #e0e3ef;vertical-align:top;text-align:start}#conduct thead{background:#202c56;color:white}#conduct tbody tr:nth-child(even){background:#f4f5f9}#conduct tbody tr:last-child>*{border-bottom:0}#conduct tbody th{min-width:115px}#conduct td ul{margin:0;padding-inline-start:22px}#conduct li{margin:0 0 10px}#conduct li:last-child{margin-bottom:0}#conduct .conduct-download{margin-top:12px;white-space:normal;text-align:center}#conduct bdi{white-space:nowrap}@media(max-width:650px){#conduct summary{font-size:18px;padding:20px 16px}#conduct .conduct-content{padding:16px}#conduct th,#conduct td{padding:14px 12px;font-size:16px}#conduct .conduct-table table{min-width:480px}#conduct .conduct-visual{max-height:320px}}@media(min-width:1201px) and (max-width:1450px){header nav.desktop{gap:12px;font-size:14px}header{gap:15px;padding-inline:3%}html[dir="ltr"] nav.desktop{gap:12px}}

/* Keep the student to the right of the English mobile brand. */
@media(max-width:1000px){html[lang="en"] .hero-photo{transform:scaleX(-1)}html[lang="en"] .hero-photo:after{background:linear-gradient(270deg,#202c56 3%,#202c56df 32%,#202c5610 85%)}}@media(max-width:650px){html[lang="en"] .hero-photo:after{background:linear-gradient(0deg,#202c56 0%,#202c5610 60%)}}

