/* AI4Kiddos: calm surfaces, a small type scale, system body fonts. */
:root{
 --paper:#fbfcf9;--white:#ffffff;--ink:#233d35;--muted:#52645a;--line:#dfe6e0;
 --lime:#dcebbf;--mint:#edf3ee;--blue:#edf2f7;--yellow:#f7f1df;--pink:#f7edef;--peach:#f6eee7;
 --focus:#315fbd;--radius:28px;
 --sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Nirmala UI",Mangal,sans-serif;
 color-scheme:light;
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 var(--sans)}
h1,h2,h3,p,ul,ol{margin:0}h1,h2,h3{font-weight:650;line-height:1.15;letter-spacing:-.035em}
h1{font-size:clamp(38px,5.5vw,68px)}h2{font-size:clamp(27px,3vw,36px)}h3{font-size:23px}
a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:8px}
svg{display:block;max-width:100%;height:auto}.wrap{width:min(1120px,100% - 48px);margin-inline:auto}.prose{max-width:72ch}
.skip{position:absolute;left:16px;top:-80px;background:var(--ink);color:var(--white);padding:12px 16px;border-radius:12px;z-index:100}.skip:focus{top:8px}
main{display:block}section{padding-block:64px}.lede{font-size:21px;line-height:1.65;color:var(--muted);max-width:58ch;margin-top:24px}
.home-intro{position:relative;max-width:760px;margin:auto;text-align:center;padding:34px 0 60px}
.home-intro h1{font-size:clamp(44px,6vw,80px);letter-spacing:-.045em;line-height:1.08}
.home-intro .lede{margin:24px auto 32px;max-width:45ch}.home-intro .bibo{width:110px;margin:28px auto 0}.hero-reassurance{font-size:16px;color:var(--muted);margin-top:20px}
.btn,.door .go{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 24px;border:0;border-radius:999px;background:var(--ink);color:var(--white);font-weight:650;font-size:18px;text-decoration:none}
.btn svg,.door .go svg{width:20px;height:20px}.btn.light{background:var(--mint);color:var(--ink)}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}.door{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:36px;border-radius:var(--radius);background:var(--mint);text-decoration:none}.door.teacher{background:var(--blue)}.door.child{background:var(--mint)}.door h2{font-size:30px}.door p{max-width:40ch}.door .go{background:none;color:var(--ink);padding:8px 0;min-height:44px;margin-top:auto;text-decoration:underline}.door .bibo{width:100px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}.tile{display:flex;align-items:center;gap:24px;text-decoration:none;padding:24px;border-radius:24px;background:var(--white)}.tile .pic{width:110px;height:110px;border-radius:50%;padding:14px;flex:none;display:grid;place-items:center}.tile .pic svg{max-height:85px;width:100%}.tile .txt{display:grid;gap:8px}.tile .for{font-size:16px;color:var(--muted)}
.pink{background:var(--pink)}.mint{background:var(--mint)}.blue{background:var(--blue)}.yellow{background:var(--yellow)}.peach{background:var(--peach)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin-top:36px;counter-reset:step}.steps li{counter-increment:step}.steps li::before{content:counter(step);display:grid;place-items:center;width:44px;height:44px;background:var(--mint);border-radius:50%;margin-bottom:20px;font-size:18px}.steps strong{display:block;font-size:23px;margin-bottom:12px}
.facts{list-style:none;padding:32px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px;border-top:1px solid var(--line)}.facts strong{display:block;margin-bottom:8px}
.page-head{padding-top:72px;padding-bottom:36px}.panel{background:var(--white);border-radius:var(--radius);padding:36px;margin-top:28px}.panel h2{font-size:28px;margin-bottom:20px}.panel p+p{margin-top:16px}.panel ul,.panel ol{padding-left:1.3em;margin-top:16px}.panel li{margin:12px 0}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.cards,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.card{display:flex;flex-direction:column;gap:12px;background:var(--white);padding:30px;border-radius:24px;text-decoration:none}.card .cls{font-size:17px;color:var(--muted)}.card .ch{font-size:24px;font-weight:650;line-height:1.3}.card .part{color:var(--muted);font-size:18px}.card .go{font-weight:650;display:flex;align-items:center;min-height:44px;margin-top:auto;text-decoration:underline}
.note{background:var(--yellow);padding:24px;border-radius:20px;margin-top:24px}.note .lbl{font-weight:650;display:block}.part{color:var(--muted);margin-top:16px}.language-context{font-size:17px;line-height:1.8;margin-top:16px}.language-context a{display:inline-flex;align-items:center;min-height:44px}
.site-footer{border-top:1px solid var(--line);font-size:16px;color:var(--muted);margin-top:48px}.site-footer .wrap{display:grid;gap:20px;padding-block:40px}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.site-footer nav a{color:var(--ink);font-weight:600}
:lang(hi) h1,:lang(hi) h2,:lang(hi) h3{letter-spacing:0;line-height:1.35}body:lang(hi){font-size:19px;line-height:1.85}:lang(hi) .lede{font-size:22px;line-height:1.85}
@media(max-width:760px){
 .wrap{width:calc(100% - 40px)}section{padding-block:40px}.page-head{padding-top:40px}.home-intro{padding:6px 0 32px}.home-intro .lede{font-size:19px}.home-intro .bibo{width:86px;margin-top:24px}.home-intro h1{font-size:44px}
 .doors,.tiles,.cards,.grid,.steps,.facts{grid-template-columns:1fr;gap:24px}.door,.panel,.card{padding:24px}.door h2{font-size:28px}.tile{padding:20px;gap:16px}.tile .pic{width:76px;height:76px;padding:10px}.tile h3{font-size:22px}.steps{gap:32px}.facts{margin-top:32px}.lede{font-size:19px}.site-footer{margin-top:24px}
 :lang(hi) .home-intro .lede{font-size:20px}
}
@media print{
 :root,:root[data-theme="dark"],:root:not([data-theme="light"]){--paper:#fbfcf9;--white:#ffffff;--ink:#233d35;--muted:#52645a;--line:#dfe6e0;--lime:#dcebbf;--mint:#edf3ee;--blue:#edf2f7;--yellow:#f7f1df;--pink:#f7edef;--peach:#f6eee7;--focus:#315fbd}
 body{background:#ffffff;font-size:11pt}.site-header,.skip,.home-intro .bibo{display:none}.wrap{width:100%}section{padding-block:20px}.panel,.door,.card{break-inside:avoid;border:1px solid var(--line);padding:20px}.site-footer{font-size:10pt}h1{font-size:28pt}h2{font-size:20pt}a{text-decoration:none}
}
/* Shared header contract: keep this block identical in app, site and self-contained packs. */
.site-header{background:var(--white);border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--sans)}
.site-header .wrap{width:min(1160px,100% - 40px);margin:auto;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-block:14px;position:relative}
.site-header .brand{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:23px;font-weight:750;letter-spacing:-1px;text-decoration:none;margin-right:auto;white-space:nowrap}
.site-header .brand-mark,.site-header .mark{display:grid;place-items:center;width:34px;height:34px;padding:6px;border-radius:50%;background:var(--mint)}
.site-header .brand svg{width:22px;height:22px}
.site-header .four{color:var(--ink)}
.site-header .desktop-links{display:flex;gap:20px;margin-right:24px}
.site-header .desktop-links [aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.site-header .desktop-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:16px;font-weight:600}
.site-header .lang,.site-header .lang-switch{display:flex;gap:0;padding:0;background:none;border:0;box-shadow:none;margin:0}
.site-header .lang [aria-current],.site-header .lang-switch .active{display:none}
.site-header .lang a,.site-header .lang-switch button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;min-width:44px;padding:8px;border:0;background:none;color:var(--ink);font-size:16px;font-weight:650;text-decoration:none;border-radius:12px;cursor:pointer}
.site-menu{font-size:16px}
.site-menu summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;border-radius:999px;background:var(--ink);color:var(--white);font-weight:650;cursor:pointer;list-style:none}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary::after{content:'+';margin-left:10px;font-size:20px;font-weight:400}
.site-menu[open] summary::after{content:'−'}
.site-menu .menu-panel{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--line);border-radius:0 0 24px 24px;padding:24px;z-index:30;box-shadow:0 12px 24px #203d3610}
.site-menu nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.site-menu nav a,.site-menu nav button{display:flex;align-items:center;min-height:48px;padding:10px 14px;border:0;border-radius:12px;background:none;color:var(--ink);font:inherit;text-align:left;text-decoration:none;white-space:normal}
.site-menu nav [aria-current="page"]{display:flex;background:var(--mint);color:var(--ink);font-weight:700}
.site-menu nav a:hover,.site-menu nav button:hover{background:var(--paper)}
.site-menu nav svg{display:none}
.site-menu .nav{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.menu-settings{display:flex;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.menu-settings label{font-size:16px;font-weight:650}
.menu-settings select{min-height:48px;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:16px}
.site-header a:focus-visible,.site-header button:focus-visible,.site-header summary:focus-visible,.site-header select:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media(max-width:760px){
 .site-header .wrap{width:calc(100% - 32px);gap:8px;padding-block:8px}
 .site-header .brand{font-size:21px;gap:6px}
 .site-header .brand-mark,.site-header .mark{display:none}
 .site-header .desktop-links{display:none}
 .site-menu summary{padding:8px 14px}
 .site-menu summary::after{margin-left:6px}
 .site-menu .menu-panel{padding:16px;max-height:75vh;overflow:auto}
 .site-menu nav{grid-template-columns:1fr 1fr}
 .menu-settings{display:block}.menu-settings label{display:block;margin-bottom:8px}.menu-settings select{width:100%}
}
@media print{.site-header{display:none!important}}
/* End shared header contract. */

.class-jumps{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.class-jumps a{display:inline-flex;align-items:center;min-height:48px;padding:8px 20px;background:var(--mint);border-radius:999px;text-decoration:none;font-size:18px}

/* UI v3 screen system. Keep print typography and palette unchanged. */
@media screen{
 @font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/baloo2-headings.woff2") format("woff2")}
 :root{--heading:"Baloo 2",var(--sans);--paper:#fffdf8;--ink:#263c36;--muted:#53635d;--line:#dedfd5;--mint:#eef3e8;--radius:28px;--shadow:0 8px 24px #263c360b;--motion-fast:160ms;--motion-enter:320ms;--accent:#356145;--texture:none}
 [data-band="foundation"]{--paper:#fffcf3;--ink:#2d4032;--muted:#53624d;--mint:#edf3df;--lime:#f4dc76;--blue:#e5f2f7;--yellow:#fff0bd;--pink:#fce7df;--accent:#38663d;--line:#dcdcca;--texture:radial-gradient(#e4dfcf .9px,transparent .9px);--texture-size:22px 22px}
 [data-band="explorer"]{--paper:#f7f8ff;--ink:#2d3055;--muted:#565d77;--mint:#edf0fc;--lime:#d4ddfb;--blue:#e5f2f5;--yellow:#faf0d7;--pink:#f1eafa;--accent:#3c4c92;--line:#dbdeed;--texture:linear-gradient(#e3e6f2 1px,transparent 1px),linear-gradient(90deg,#e3e6f2 1px,transparent 1px);--texture-size:28px 28px}
 h1,h2,h3,.page-title,.lesson-head h1,.hero h1,.card-body h2{font-family:var(--heading);font-weight:700;letter-spacing:-.015em}
 :lang(hi) :is(h1,h2,h3,.page-title){letter-spacing:0;line-height:1.4}
 .band-world{background-color:var(--paper);background-image:var(--texture);background-size:var(--texture-size);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
}

/* U2: the class choice leads; the two worlds carry their own band palette. */
@media screen{
 .v3-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;padding-block:56px 40px}
 .v3-hero h1{font-size:clamp(46px,5.3vw,76px);line-height:1.08;letter-spacing:-.025em}
 .v3-hero h1 span{color:#38663d}
 .home-summary{font-size:20px;line-height:1.65;max-width:49ch;margin-top:24px;color:var(--muted)}
 .class-picker{margin-top:32px}.class-picker h2{font-size:27px;line-height:1.3}
 .class-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;max-width:480px}
 .class-group{padding:14px;background:var(--mint);color:var(--ink);border-radius:20px}
 .class-group h3{font:600 17px/1.5 var(--sans);margin-bottom:10px}
 .class-buttons{display:flex;gap:10px;padding-bottom:4px}.class-buttons a{display:grid;place-items:center;min-width:48px;min-height:48px;background:#fff;color:var(--ink);border:2px solid var(--line);border-radius:14px;font-size:24px;font-weight:700;text-decoration:none;box-shadow:0 4px 0 var(--line);transition:transform 0.1s, box-shadow 0.1s}
 .class-group[data-band="foundation"] .class-buttons a{border-color:#c8a734;box-shadow:0 4px 0 #b39121}
 .class-group[data-band="explorer"] .class-buttons a{border-color:#6b7ab8;box-shadow:0 4px 0 #5263a3}
 .class-buttons a:active{transform:translateY(4px);box-shadow:0 0 0 transparent}
 .path-note{font-size:16px;line-height:1.65;margin-top:16px;color:var(--muted)}
 .route-demo{margin:0;transform:rotate(-3deg)}.route-demo svg{width:100%;overflow:visible}.route-demo figcaption{text-align:center;font-size:18px;line-height:1.65;margin-top:16px;color:var(--muted)}
 .route-bibo{transform:translate(324px,108px)}
 .worlds{display:grid;gap:36px;padding-block:24px 48px}
 .world{display:grid;grid-template-columns:.85fr 1.65fr;gap:40px;padding:40px;align-items:start}
 .world-band{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--lime);color:var(--ink);font-size:17px;font-weight:650;margin-bottom:20px}
 .world h2{font-size:38px;line-height:1.12}.world-intro>p:not(.world-band){font-size:18px;line-height:1.75;margin-top:20px}
 .world-link{display:inline-flex;align-items:center;min-height:48px;margin-top:20px;font-size:18px;font-weight:650}
 .world-activities{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .world-tile{position:relative;display:flex;align-items:center;gap:16px;padding:20px 16px;min-width:0;border-radius:20px;background:#fff;text-decoration:none;box-shadow:var(--shadow)}
 .world-art{display:block;width:70px;flex:none}.world-art svg{width:100%;height:70px}.world-tile h3{font-size:23px;line-height:1.2}.world-time{display:block;margin-top:8px;font-size:16px;color:var(--muted)}.tile-arrow{position:absolute;top:6px;right:10px;font-size:18px;color:var(--muted)}
 .how-section{padding-block:64px}.how-section>h2{text-align:center;font-size:42px}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:48px;background:var(--mint);border-radius:40px;list-style:none;margin-top:40px}
 .how-steps svg{width:64px;height:64px;padding:16px;box-sizing:content-box;border-radius:32px;background:#fff;margin-bottom:24px}.how-steps li:nth-child(2) svg{background:#fff0bd}.how-steps li:nth-child(3) svg{background:#edf0fc}.how-steps h3{font-size:28px;margin-bottom:12px}.how-steps p{max-width:28ch;font-size:18px}
 .supplemental{max-width:72ch;text-align:center;margin:48px auto 0;color:var(--muted);font-size:17px}
 .adult-strip{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:32px}.adult-strip>a{display:block;padding:28px 32px;border-radius:24px;background:var(--mint);text-decoration:none}.adult-strip>a:nth-child(2){background:var(--blue)}.adult-strip h2{font-size:29px}.adult-strip p{margin-top:12px}.adult-strip span{display:block;margin-top:20px;font-weight:650;text-decoration:underline}
 .about-teaser{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:64px}.about-teaser p{max-width:58ch;margin-top:16px}.about-teaser .btn{flex:none}
 :lang(hi) .v3-hero h1{line-height:1.3;letter-spacing:0}:lang(hi) .home-summary{font-size:21px;line-height:1.85}:lang(hi) .world h2,:lang(hi) .world-tile h3{line-height:1.45}:lang(hi) .path-note{font-size:17px;line-height:1.85}
}
@media screen and (max-width:1000px){.world{grid-template-columns:1fr}.world-intro{max-width:60ch}.v3-hero{gap:24px}.class-groups{gap:12px}.class-group{padding:12px}.class-buttons{gap:8px}.about-teaser{align-items:flex-start;flex-direction:column}}
@media screen and (max-width:760px){
 .v3-hero{grid-template-columns:1fr;align-content:start;gap:18px;padding-block:28px 32px}
 .v3-hero h1{font-size:43px;line-height:1.12}.home-summary{font-size:18px;line-height:1.6;margin-top:16px}.class-picker{margin-top:24px}.class-picker h2{font-size:25px}
 .class-groups{gap:12px;margin-top:12px}.class-group{padding:10px 8px}.class-group h3{font-size:16px;margin-bottom:8px}.class-buttons{gap:6px}.class-buttons a{min-width:44px;min-height:48px;font-size:22px;flex:1}.path-note{margin-top:12px}
 .route-demo{display:flex;flex-direction:column;align-items:center;gap:16px;transform:none;max-width:100%;margin:24px auto 0}.route-demo svg{width:100%;max-width:360px;flex:none}.route-demo figcaption{text-align:center;font-size:17px;margin:0}
 .worlds{padding-block:24px 32px;gap:24px}.world{padding:24px 20px;gap:24px}.world h2{font-size:34px}.world-band{margin-bottom:16px}.world-activities{grid-template-columns:1fr;gap:12px}.world-tile{padding:20px;gap:20px}.world-art{width:76px}.world-tile h3{font-size:25px}
 .how-section{padding-block:40px}.how-section>h2{font-size:34px;text-align:left}.how-steps{grid-template-columns:1fr;gap:28px;margin-top:28px;padding:28px;border-radius:28px}.how-steps li{display:grid;grid-template-columns:56px 1fr;column-gap:20px}.how-steps svg{grid-row:span 2;width:36px;height:36px;padding:10px;margin:0;border-radius:18px}.how-steps h3{margin-bottom:8px;font-size:24px}.how-steps p{grid-column:2;max-width:none;font-size:17px}.supplemental{text-align:left;margin-top:32px}
 .adult-strip{grid-template-columns:1fr;gap:16px}.adult-strip>a{padding:24px}.about-teaser{padding-block:40px;gap:24px}
 :lang(hi) .v3-hero h1{font-size:40px;line-height:1.35}:lang(hi) .home-summary{font-size:19px;line-height:1.8}
}
@media screen and (max-width:360px){
 .v3-hero h1{font-size:38px}:lang(hi) .v3-hero h1{font-size:36px}.class-groups{grid-template-columns:1fr;gap:8px}.class-group{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.class-group h3{margin:0}.class-buttons{gap:6px}.class-buttons a{width:44px}.world-tile{padding:18px 14px;gap:14px}.world-art{width:58px}.world-tile h3{font-size:23px}.route-demo svg{width:130px}
}
@media screen and (min-width:761px) and (prefers-reduced-motion:no-preference){
 .route-bibo{animation:bibo-route 4s ease-in-out 1 both}
 @keyframes bibo-route{0%,10%{transform:translate(108px,252px)}30%{transform:translate(108px,180px)}50%{transform:translate(108px,108px)}70%{transform:translate(216px,108px)}90%,100%{transform:translate(324px,108px)}}
}
