:root{--ink:#1f332d;--cream:#f7f4ea;--paper:#fffdf6;--orange:#f46f42;--yellow:#f7c848;--sage:#b9cfac;--sky:#bcd9db;--line:#d9d6ca;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--serif:'Fraunces',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}.site-header{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(247,244,234,.95);position:sticky;z-index:10;top:0;backdrop-filter:blur(8px)}.brand{color:var(--ink);text-decoration:none;line-height:.9;font-weight:700;letter-spacing:-.7px;font-size:17px;display:flex;align-items:flex-start;gap:7px}.brand-mark{color:var(--orange);font-size:23px;line-height:.8}.site-header nav{display:flex;gap:32px}.site-header nav a,.progress-link,footer button{color:var(--ink);font:500 13px var(--sans);text-decoration:none;background:none;border:0;cursor:pointer}.progress-link{border:1px solid var(--ink);padding:8px 11px;border-radius:3px}.progress-link span{background:var(--yellow);border-radius:50%;padding:1px 6px;margin-left:4px}.hero{min-height:590px;padding:72px 8vw 56px;display:grid;grid-template-columns:1.03fr .97fr;gap:60px;align-items:center;background:var(--paper);overflow:hidden}.eyebrow{font:500 11px var(--mono);letter-spacing:1.6px;margin:0 0 18px;color:#536e63}.hero h1,h2{font-family:var(--serif);line-height:1.06;letter-spacing:-1.7px}.hero h1{font-size:clamp(48px,5vw,76px);margin:0;max-width:690px}.hero h1 em,blockquote em{color:var(--orange);font-style:normal}.hero-text{font-size:19px;max-width:570px;margin:24px 0;color:#486057}.hero-actions{display:flex;align-items:center;gap:25px;margin:32px 0 18px}.button{display:inline-flex;gap:22px;justify-content:space-between;align-items:center;padding:14px 17px;border:1px solid var(--ink);font:600 14px var(--sans);text-decoration:none;cursor:pointer}.button-dark{background:var(--ink);color:white}.button-outline{background:transparent;color:var(--ink);margin:38px auto 0}.text-link{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}.text-link span{color:var(--orange);margin-left:5px}.no-login{font-size:12px;color:#65776f}.hero-art{height:430px;background:var(--sky);position:relative;border-radius:50% 50% 0 0;overflow:hidden;isolation:isolate}.sun{position:absolute;right:61px;top:44px;width:80px;height:80px;border-radius:50%;background:var(--yellow);font-size:34px;text-align:center;padding-top:12px;color:#e88f3b}.cloud{position:absolute;background:#fffdf5;border-radius:40px;height:20px;width:70px}.cloud:after,.cloud:before{content:'';position:absolute;background:#fffdf5;border-radius:50%}.cloud:before{width:29px;height:29px;left:15px;bottom:9px}.cloud:after{width:22px;height:22px;left:39px;bottom:6px}.cloud-one{top:97px;left:74px}.cloud-two{top:57px;left:245px;transform:scale(.65)}.hill{position:absolute;border-radius:50% 50% 0 0;bottom:-120px}.hill-back{background:#9cbd96;width:600px;height:300px;left:-100px}.hill-front{background:#6b9f79;width:560px;height:230px;right:-110px;bottom:-100px}.path{position:absolute;width:170px;height:460px;border-radius:50%;background:#f0d29b;bottom:-267px;left:200px;transform:rotate(-10deg)}.kid{position:absolute;z-index:3;left:52%;bottom:111px;width:80px;height:182px}.head{position:absolute;left:26px;width:42px;height:43px;border-radius:48% 52% 45% 45%;background:#8b563c;border:6px solid var(--ink);z-index:2}.body{position:absolute;width:56px;height:77px;left:18px;top:38px;background:var(--orange);border:6px solid var(--ink);border-radius:40% 40% 15px 15px}.arm,.leg{position:absolute;background:#8b563c;border:5px solid var(--ink);border-radius:30px;transform-origin:top}.arm{width:18px;height:62px;top:54px}.arm-one{left:9px;transform:rotate(36deg)}.arm-two{right:-1px;transform:rotate(-38deg)}.leg{width:20px;height:68px;top:108px}.leg-one{left:23px;transform:rotate(12deg)}.leg-two{right:10px;transform:rotate(-18deg)}.plant{position:absolute;z-index:3;width:65px;height:100px;bottom:70px}.plant i{position:absolute;width:31px;height:17px;background:#2f6e57;border:4px solid var(--ink);border-radius:100% 0 100% 0}.plant i:first-child{left:6px;top:33px;transform:rotate(-38deg)}.plant i:nth-child(2){right:2px;top:15px;transform:rotate(35deg)}.plant b{position:absolute;left:33px;top:22px;width:5px;height:65px;background:var(--ink)}.plant-one{left:50px}.plant-two{right:32px;transform:scale(.7)}.art-note{font:500 11px var(--mono);position:absolute;color:var(--ink);z-index:4}.note-one{bottom:76px;left:147px}.note-two{bottom:170px;right:70px}.note-three{top:140px;left:46px}.promise-strip{background:var(--ink);color:#f3f3e9;padding:16px;text-align:center}.promise-strip p{margin:0;font:500 11px var(--mono);letter-spacing:1px}.promise-strip span{color:var(--yellow)}.promise-strip b{padding:0 17px;color:var(--orange)}.section{padding:108px 8vw}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.section h2{font-size:clamp(35px,4vw,56px);margin:0;max-width:700px}.section-heading p{margin:6px 0;font-size:17px;color:#52665d}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px;border-top:1px solid var(--line)}.steps article{padding:20px 24px 0 0;position:relative}.steps article+article{padding-left:22px;border-left:1px solid var(--line)}.steps span{font:11px var(--mono);color:#62776b}.step-icon{font:32px var(--serif);color:var(--orange);margin:22px 0 10px}.steps h3,.pillars h3{font:600 18px var(--sans);margin:0}.steps p,.pillars p{font-size:14px;margin-top:7px;color:#607168}.starter{background:var(--sage);padding-top:92px;padding-bottom:92px}.starter-copy{display:grid;grid-template-columns:1fr 1.5fr;gap:30px}.starter-copy h2{grid-row:span 2;margin:0;font-size:48px}.starter-copy p:not(.eyebrow){margin:0;max-width:520px}.grade-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:40px}.grade-choice{border:1px solid #6c8971;background:transparent;padding:20px 14px;text-align:left;cursor:pointer;font-family:var(--sans);color:var(--ink)}.grade-choice strong{display:block;font-size:17px}.grade-choice small{color:#456052}.grade-choice.active{background:var(--ink);color:#fff;border-color:var(--ink)}.grade-choice.active small{color:#cfdec8}.grade-focus{margin-top:20px;padding:17px 20px;background:rgba(255,253,246,.55);border-left:4px solid var(--orange);font-size:14px}.grade-focus strong{display:block;margin-bottom:2px}.challenges{background:var(--paper);text-align:center}.challenges-head{display:flex;text-align:left;justify-content:space-between;align-items:end;gap:45px}.challenges-head .library-note{max-width:340px;font-size:14px;color:#607168;margin:0}.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:45px 0 25px}.filter{border:1px solid var(--line);padding:8px 13px;background:transparent;color:var(--ink);font:500 12px var(--sans);cursor:pointer}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;text-align:left}.challenge{padding:24px;min-height:260px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;background:#fffdf9;transition:transform .2s,box-shadow .2s}.challenge:hover{transform:translateY(-4px);box-shadow:5px 6px 0 var(--sage)}.tag{font:10px var(--mono);letter-spacing:1px;padding:5px 7px;border-radius:2px}.tag.math{background:#f6d7c9}.tag.english{background:#d9e9cf}.tag.science{background:#cfe8eb}.tag.social{background:#eadbef}.tag.computing{background:#f2e2a8}.tag.life{background:#f8d8a9}.challenge h3{font:600 21px/1.2 var(--serif);letter-spacing:-.4px;margin:19px 0 12px}.challenge p{font-size:14px;color:#576a61;margin:0 0 auto}.challenge-meta{font:10px var(--mono);color:#63756c;margin-top:23px}.challenge button{background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 3px;font:600 13px var(--sans);color:var(--ink);margin-top:15px;cursor:pointer}.weekend{background:var(--orange);color:#202e2a;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.weekend .eyebrow{color:#6a3527}.weekend-copy h2{font-size:47px}.weekend-copy>p:not(.eyebrow){max-width:420px}.schedule{padding-top:21px;position:relative}.schedule-line{position:absolute;left:5px;top:30px;bottom:18px;border-left:1px solid #7d4534}.schedule article{padding:0 0 22px 30px;position:relative}.schedule article:before{content:'';position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:50%;background:var(--yellow);border:2px solid #693727}.schedule time{font:10px var(--mono);letter-spacing:1px}.schedule h3{font:600 23px var(--serif);margin:3px 0}.schedule p{margin:0}.why{background:#f0eddf}.why-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.why-layout h2{font-size:52px}.why-layout p{font-size:16px;color:#52665d;margin:4px 0 19px}.pillars{margin-top:65px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.pillars article{padding:22px 22px 0 0}.pillars article+article{padding-left:20px;border-left:1px solid var(--line)}.pillar-icon{display:block;color:var(--orange);font-size:32px;margin-bottom:8px}.parent-note{padding-top:82px;padding-bottom:82px;text-align:center;background:var(--paper)}.quote-mark{color:var(--yellow);font:96px/30px var(--serif);margin-top:26px}blockquote{font:600 clamp(27px,3.2vw,47px)/1.15 var(--serif);letter-spacing:-1px;max-width:840px;margin:17px auto 22px}.parent-note p{color:#63746c;font-size:14px}footer{padding:45px 8vw;background:var(--ink);color:#e8eddf;display:flex;align-items:center;justify-content:space-between}footer .brand{color:#fff}footer p{margin:0;font-size:14px}footer button{color:#dce6d8;border-bottom:1px solid #dce6d8;padding-bottom:2px}dialog{max-width:680px;width:calc(100% - 32px);padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 12px 55px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(25,45,38,.55);backdrop-filter:blur(3px)}.modal-close{position:absolute;right:13px;top:9px;background:none;border:0;color:var(--ink);font:35px var(--sans);cursor:pointer}.modal-inner{padding:50px}.modal-inner h2{font-size:39px;margin:13px 0}.modal-inner .tag{display:inline-block}.modal-meta{font:11px var(--mono);color:#607168}.modal-block{border-top:1px solid var(--line);padding-top:18px;margin-top:19px}.modal-block h3{font:600 14px var(--sans);margin:0 0 6px}.modal-block p,.modal-block li{font-size:15px;color:#52665d}.modal-block ul{padding-left:19px;margin:7px 0}.done-button{background:var(--ink);color:#fff;border:0;padding:12px 15px;font:600 14px var(--sans);cursor:pointer;margin-top:25px}.done-button.done{background:var(--sage);color:var(--ink)}.progress-inner{padding:52px}.progress-inner h2{font-size:39px;margin:0 0 8px}.progress-stat{font:600 55px var(--serif);color:var(--orange);margin:15px 0}.progress-empty{color:#5d7066}.progress-list{margin:18px 0 0;padding:0;list-style:none}.progress-list li{padding:10px 0;border-top:1px solid var(--line);font-size:14px}
@media(max-width:800px){.site-header{padding:0 5vw;height:68px}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding:54px 6vw 0;gap:28px}.hero-art{height:330px;max-width:510px;width:100%;justify-self:center}.hero h1{font-size:48px}.section{padding:74px 6vw}.section-heading,.starter-copy,.why-layout,.weekend{grid-template-columns:1fr}.steps,.pillars{grid-template-columns:1fr 1fr}.steps article:nth-child(3),.pillars article:nth-child(3){border-left:0;padding-left:0;margin-top:22px}.grade-picker{grid-template-columns:1fr 1fr}.challenge-grid{grid-template-columns:1fr 1fr}.challenges-head{display:block}.challenges-head .library-note{margin-top:18px}.weekend{gap:25px}.why-layout h2{font-size:42px}}@media(max-width:520px){.progress-link{font-size:0;padding:6px}.progress-link span{font-size:12px;margin:0}.hero-actions{display:block}.hero-actions .text-link{display:inline-block;margin-top:20px}.promise-strip{display:none}.steps,.pillars,.challenge-grid{grid-template-columns:1fr}.steps article+article,.pillars article+article{border-left:0;padding-left:0;margin-top:22px}.steps article:nth-child(3),.pillars article:nth-child(3){margin-top:22px}.starter-copy h2{font-size:40px}.weekend-copy h2{font-size:39px}footer{display:block}footer p{margin:24px 0}.modal-inner,.progress-inner{padding:45px 25px 28px}.modal-inner h2{font-size:32px}}
