:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172033;--paper:#fff5dd;--aqua:#00bfc7;--rose:#ff2f5f;--gold:#ffb800;--blue:#2864ff;--leaf:#ff7a1a;--line:#17203324;--shadow:0 24px 70px #17203333;background:#fff5dd;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{min-width:320px;margin:0;overflow-x:clip}body:before{z-index:-3;content:"";opacity:1;background-color:#0000;background-image:linear-gradient(90deg,#fff5ddb3 0%,#fff5dd3d 43%,#fff5dd85 100%),linear-gradient(#fff6e02e 0%,#ffe8bf80 100%),url(/story/treehouse-atmosphere.jpg);background-position:50%,50%,top;background-repeat:no-repeat;background-size:auto,auto,100vw;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:fixed;inset:0}#magic-world{z-index:-2;pointer-events:none;position:fixed;inset:0}a{color:inherit;text-decoration:none}.site-header{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);isolation:isolate;background:#fff5ddbd;border-bottom:0;justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:14px clamp(18px,4vw,54px) 18px;display:flex;position:sticky;top:0;overflow:hidden}.site-header:before,.site-header:after{z-index:-2;content:"";pointer-events:none;height:40px;position:absolute;inset:auto -8vw 0}.site-header:before{clip-path:polygon(0 43%,10% 31%,20% 42%,31% 28%,42% 39%,54% 29%,66% 42%,78% 27%,90% 41%,100% 31%,100% 62%,88% 56%,77% 65%,65% 56%,53% 65%,41% 57%,29% 65%,17% 56%,7% 64%,0 58%);filter:saturate(1.08)drop-shadow(0 8px 10px #5a28082e);background:radial-gradient(at 18% 94%,#ffffff57 0 20%,#0000 21%),radial-gradient(at 44% 98%,#ffffff47 0 19%,#0000 20%),radial-gradient(at 72% 92%,#ffffff3d 0 17%,#0000 18%),linear-gradient(96deg,#e71931 0 17%,#ff7a1a 18% 32%,#ffbf00 33% 48%,#00bfc7 49% 65%,#2864ff 66% 82%,#ff2f5f 83% 100%);animation:7s ease-in-out infinite capeWave;bottom:-12px}.site-header:after{z-index:-1;clip-path:polygon(0 43%,11% 27%,22% 42%,34% 21%,46% 40%,58% 22%,71% 43%,83% 26%,100% 38%,100% 58%,88% 51%,76% 62%,63% 50%,50% 63%,37% 51%,24% 63%,12% 52%,0 59%);mix-blend-mode:multiply;opacity:.38;background:linear-gradient(110deg,#0000 0 9%,#ffffff5c 10% 16%,#0000 17% 36%,#ffffff3d 37% 43%,#0000 44%),linear-gradient(90deg,#8d250533,#00bfc72e,#2864ff29,#ff2f5f33);animation:8.5s ease-in-out infinite reverse capeWave;bottom:-8px}.brand,.nav-links,.header-actions,.hero-actions,.footer-actions,.teacher-resources{align-items:center;display:flex}.mobile-menu-panel{flex:1;justify-content:space-between;align-items:center;gap:24px;min-width:0;display:flex}.mobile-menu-toggle{border:2px solid var(--ink);background:var(--gold);width:48px;height:48px;box-shadow:4px 4px 0 var(--ink);cursor:pointer;border-radius:999px;flex:none;place-items:center;display:none;position:relative}.mobile-menu-toggle span{background:var(--ink);width:21px;height:3px;transform:translate(-50%, -50%) translateY(var(--line-y,0));border-radius:999px;transition:transform .18s,opacity .18s;display:block;position:absolute;top:50%;left:50%}.mobile-menu-toggle span:first-child{--line-y:-7px}.mobile-menu-toggle span:nth-child(3){--line-y:7px}.site-header.mobile-menu-open .mobile-menu-toggle span:first-child{transform:translate(-50%,-50%)rotate(45deg)}.site-header.mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}.site-header.mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translate(-50%,-50%)rotate(-45deg)}.brand{white-space:nowrap;gap:12px;font-family:"Baloo 2",Inter,sans-serif;font-weight:800;position:relative}.brand-mark{background:var(--gold);width:54px;height:54px;box-shadow:0 0 0 2px var(--ink), 6px 6px 0 var(--gold);border:3px solid #fff;border-radius:50%;place-items:center;display:grid;overflow:hidden;transform:rotate(-4deg)}.brand-mark img{object-fit:cover;object-position:center;width:100%;height:100%;transform:translate(-7px,2px)scale(1.28)}.brand-text{color:var(--ink);text-shadow:2px 2px #ffffffe6;gap:0;font-family:"Baloo 2",Inter,sans-serif;font-size:clamp(1.15rem,2vw,1.75rem);font-weight:800;line-height:.82;display:grid}.brand-text span:first-child{color:var(--rose)}.brand-text span:last-child{background:linear-gradient(90deg, var(--blue), var(--aqua), #a8334f);color:#0000;-webkit-background-clip:text;background-clip:text}.nav-links{flex-wrap:wrap;justify-content:center;gap:8px;font-size:.84rem;font-weight:800}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px}.nav-links a,.nav-cta,.footer-book-link{border:1px solid #0000;border-radius:999px;padding:10px 12px;position:relative}button.nav-cta,button.footer-book-link,button.button{appearance:none;cursor:pointer;font:inherit}.nav-links a:hover,.nav-cta:hover,.footer-book-link:hover{background:#ffffffe6;border-color:#1720332e}.nav-cta{border:2px solid var(--ink);background:var(--gold);box-shadow:4px 4px 0 var(--ink);white-space:nowrap;font-size:.84rem;font-weight:900}.book-link{background:var(--rose);color:#fff}.toolkit-open{background:var(--aqua)}.section-band{width:min(1180px,100% - 32px);margin-inline:auto}.hero{isolation:isolate;text-align:center;grid-template-columns:1fr;place-items:center;gap:clamp(12px,2.5vw,28px);min-height:calc(100vh - 70px);padding:62px 0 44px;display:grid;position:relative}.hero-title,.hero-copy{width:min(100%,980px)}.hero-title{z-index:4;position:relative}.hero-copy{z-index:5;justify-items:center;display:grid;position:relative}.eyebrow{color:#a8334f;letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}h1,h2,h3{margin:0;font-family:"Baloo 2",Inter,sans-serif;line-height:.98}h1{isolation:isolate;max-width:none;color:var(--ink);text-shadow:0 5px #ffffffdb,0 0 22px #fff5ddf5,0 0 42px #ffb80038;white-space:nowrap;font-size:clamp(3.7rem,7.4vw,7.1rem);display:inline-block;position:relative}h1:before{z-index:-1;content:"";filter:blur(2px);background:radial-gradient(#fff5dde6 0 48%,#fff5dd6b 68%,#0000 78%);border-radius:999px;position:absolute;inset:-18px -34px -12px}h1:after{background:linear-gradient(90deg, var(--rose), var(--gold), var(--aqua), var(--blue));content:"";transform-origin:50%;border-radius:999px;height:9px;animation:5.2s ease-in-out infinite titleSwoosh;position:absolute;bottom:-9px;left:11%;right:11%;box-shadow:0 8px 22px #ffb80047}h2{font-size:clamp(2.2rem,5vw,4.7rem)}h3{font-size:1.8rem}p{line-height:1.7}.hero-lede,.section-heading p,.book-panel p,.profile-section p,.invite-copy p,.visit-options p,.gratitude-resources .section-heading p,.teachers .section-heading p{color:#172033c2;max-width:660px;font-size:1.07rem}.hero-lede{z-index:1;color:#172033e6;text-align:center;background:#fff9eedb;border:2px solid #17203338;border-radius:8px;max-width:780px;margin:0 auto;padding:12px 22px;font-weight:700;line-height:1.45;position:relative;box-shadow:7px 7px #ffb80085}.hero-actions{z-index:1;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;position:relative}.button{border:2px solid var(--ink);min-height:46px;box-shadow:5px 5px 0 var(--ink);justify-content:center;align-items:center;padding:12px 18px;font-weight:900;display:inline-flex}.button.primary{background:var(--rose);color:#fff}.button.secondary{background:#fff}.hero-art{perspective:900px;place-items:center;width:min(100%,1040px);min-height:430px;display:grid;position:relative}.rider-hero-art{--rider-y:4px;min-height:min(58vh,620px);overflow:visible}.rider-hero-art:before,.rider-hero-art:after{content:"";pointer-events:none;position:absolute}.rider-hero-art:before{z-index:-2;aspect-ratio:16/10;filter:saturate(1.34)contrast(1.16);opacity:.76;background:linear-gradient(#fff5dd0a,#fff5dd2e),url(/story/treehouse-atmosphere.jpg) 50% 30%/72% no-repeat;border-radius:48% 42% 50% 44%/42% 50% 46% 52%;width:min(78vw,820px);transform:translateY(4px)rotate(-2deg);box-shadow:inset 0 0 0 3px #ffffff6b,0 28px 80px #1720332e}.rider-hero-art:after{z-index:-1;aspect-ratio:1;filter:blur(8px);background:radial-gradient(circle,#ffffffb8 0 22%,#ffb80052 34%,#00bfc733 54%,#0000 72%);border-radius:50%;width:min(76vw,760px);animation:5.8s ease-in-out infinite heroGlow}.portal-ring{z-index:1;aspect-ratio:1;border:18px solid #2fc7bd47;border-color:#2fc7bd47 #2fc7bd47 #ffc94f9e #ff55738f;border-radius:50%;width:min(70vw,650px);animation:15s linear infinite spinPortal,4.8s ease-in-out infinite portalPulse;position:absolute;box-shadow:0 0 42px #00bfc733,inset 0 0 28px #ffffff3d}.portal-ring:before,.portal-ring:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.portal-ring:before{border:3px dashed #ffb8006b;animation:20s linear infinite reverse spinPortal;inset:-40px}.portal-ring:after{opacity:.58;background:radial-gradient(circle at 18% 20%,#ffb800cc 0 6px,#0000 7px),radial-gradient(circle at 76% 30%,#ff2f5fb3 0 5px,#0000 6px),radial-gradient(circle at 28% 82%,#00bfc7bf 0 7px,#0000 8px),radial-gradient(circle at 85% 76%,#2864ff94 0 5px,#0000 6px);animation:3.8s ease-in-out infinite portalSparkle;inset:-20px}.hero-art img{object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 34px 34px #1720332e);width:min(100%,760px);max-height:62vh;position:relative;transform:rotateX(7deg)rotateY(-8deg)}.cape-motion-video,.hero-rider-fallback{z-index:3;filter:saturate(1.08)contrast(1.04)brightness(1.01)drop-shadow(0 30px 24px #1720331f);width:min(122%,920px);max-height:min(60vh,700px);transform:translate3d(-3%, var(--rider-y), 0) rotateX(5deg) rotateY(-7deg);transform-origin:bottom;z-index:3;aspect-ratio:16/9;object-fit:contain;mix-blend-mode:normal;opacity:1;pointer-events:none;background:0 0;animation:5.8s ease-in-out infinite riderFloat;position:absolute}.hero-rider-fallback{aspect-ratio:auto;display:none}.no-transparent-video .cape-motion-video{display:none}.no-transparent-video .hero-rider-fallback{display:block}.story-strip{border:2px solid var(--ink);background:var(--ink);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:-16px;display:grid}.story-strip div{background:#ffffffd1;min-height:126px;padding:24px}.story-strip strong{margin-bottom:8px;font-family:"Baloo 2",Inter,sans-serif;font-size:1.8rem;display:block}.story-strip span{color:#172033b3}.characters,.companion,.curriculum,.profile-section,.invite,.teachers{padding:110px 0 0}.characters{overflow-x:clip}.section-heading{margin-bottom:36px}.character-carousel{contain:paint;width:100%;max-width:100%;padding:6px 0 16px;position:relative;overflow:clip}.character-carousel:before,.character-carousel:after{z-index:2;content:"";pointer-events:none;width:clamp(28px,8vw,110px);position:absolute;top:0;bottom:0}.character-carousel:before{background:linear-gradient(90deg, var(--paper), #fff9ee00);left:0}.character-carousel:after{background:linear-gradient(270deg, var(--paper), #fff9ee00);right:0}.character-track,.character-set{gap:18px;display:flex}.character-track{width:max-content;animation:52s linear infinite characterLoop}.character-carousel:hover .character-track{animation-play-state:paused}.character-card{--tilt-x:0deg;--tilt-y:0deg;border:2px solid var(--ink);min-height:360px;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;background:#ffffffdb;flex:0 0 clamp(360px,34vw,430px);grid-template-columns:38% 1fr;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden;box-shadow:8px 8px #172033e6}.character-card:hover{box-shadow:13px 13px #172033e6}.character-card.featured{background:linear-gradient(135deg,#fff 0%,#ecfbff 54%,#fff1d1 100%)}.character-card img{object-fit:contain;mix-blend-mode:multiply;align-self:end;width:100%;height:100%;padding:18px 0 0 12px;transform:translateZ(24px)}.character-card div{align-self:center;padding:24px 24px 24px 10px}.character-card span{color:#a8334f;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:900;display:inline-block}.character-card p{color:#172033b3;margin-bottom:0;font-size:.92rem;line-height:1.48}.companion{grid-template-columns:.92fr 1.08fr;align-items:center;gap:28px;display:grid}.book-panel{border:2px solid var(--ink);color:#fff;box-shadow:10px 10px 0 var(--leaf);background:#172033;padding:34px}.book-panel p{color:#ffffffc7}.module-stack{gap:12px;display:grid}.module-stack div{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:#ffffffe6;grid-template-columns:72px 1fr;gap:12px;padding:20px;display:grid}.module-stack span{color:var(--blue);grid-row:span 2;font-family:"Baloo 2",Inter,sans-serif;font-size:2.5rem;font-weight:800}.module-stack strong{font-size:1.35rem}.module-stack small{color:#172033a8;line-height:1.45}.curriculum-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:center;gap:28px;display:grid}.curriculum-copy{border-left:8px solid var(--rose);background:#fffc;padding:30px}.curriculum-copy ul{margin:24px 0 0;padding-left:20px;font-weight:700;line-height:2}.curriculum-orbit{border:2px solid var(--ink);min-height:390px;box-shadow:10px 10px 0 var(--gold);background:linear-gradient(150deg,#2fc7bde6,#4169e1e0);position:relative}.curriculum-orbit:before,.curriculum-orbit:after{content:"";border:2px dashed #ffffffc2;border-radius:50%;animation:18s linear infinite reverse spinPortal;position:absolute;inset:58px}.curriculum-orbit:after{animation-duration:12s;inset:112px}.curriculum-orbit span{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;padding:10px 12px;font-weight:900;position:absolute}.curriculum-orbit span:first-child{top:42px;left:38px}.curriculum-orbit span:nth-child(2){top:120px;right:28px}.curriculum-orbit span:nth-child(3){bottom:88px;left:52px}.curriculum-orbit span:nth-child(4){bottom:42px;right:48px}.profile-section,.invite{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.invite{align-items:start}.invite-copy{padding-top:12px}.invite-side{gap:clamp(22px,3vw,34px);display:grid}.visit-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0;display:grid}.visit-options article{border:2px solid var(--ink);background:#ffffffd1;padding:18px;box-shadow:5px 5px #172033e0}.visit-options h3{margin-bottom:8px;font-size:1.35rem}.visit-options p{margin:0;font-size:.92rem;line-height:1.48}.invite-form{border:2px solid var(--ink);box-shadow:10px 10px 0 var(--blue);background:#ffffffdb;gap:14px;padding:26px;display:grid}.form-schedule-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.visit-photo{border:2px solid var(--ink);background:var(--rose);min-height:clamp(300px,31vw,470px);box-shadow:10px 10px 0 var(--gold), 0 22px 60px #1720332e;border-radius:34px;margin:0;position:relative;overflow:hidden}.visit-photo:after{content:"";pointer-events:none;background:linear-gradient(90deg,#ffffff52,#fff0 42%),linear-gradient(#17203300 56%,#1720332e);position:absolute;inset:0}.visit-photo img{width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:74% center;display:block}label{gap:8px;font-weight:900;display:grid}input,select,textarea{border:2px solid var(--ink);width:100%;min-height:46px;color:var(--ink);font:inherit;background:#fffdf8;border-radius:0;padding:10px 12px}textarea{resize:vertical;min-height:104px}.form-notes{gap:8px}.form-honeypot{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-status{min-height:22px;margin:-2px 0 0;font-size:.88rem;font-weight:800}.form-status[data-state=success]{color:#087a3f}.form-status[data-state=error]{color:#c22849}.form-status[data-state=loading]{color:var(--blue)}button:disabled{cursor:wait;opacity:.72}.gratitude-resources{padding:110px 0 0}.resource-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.resource-link-grid a{border:2px solid var(--ink);min-height:118px;box-shadow:6px 6px 0 var(--gold);background:#ffffffe0;padding:18px;font-weight:900;transition:transform .16s,box-shadow .16s}.resource-link-grid a:hover{box-shadow:8px 8px 0 var(--aqua);background:#fffdf8;transform:translate(-2px,-2px)}.teachers{padding-bottom:96px}.toolkit-feature{border:2px solid var(--ink);background:linear-gradient(135deg, #ffffffeb, #ecfbffe0), linear-gradient(90deg, var(--gold), var(--aqua));box-shadow:9px 9px 0 var(--blue);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:28px;padding:28px;display:grid}.toolkit-feature span,.teacher-resources span{color:#a8334f;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:900;display:block}.toolkit-feature h3{margin-bottom:8px}.toolkit-feature p{color:#172033bd;max-width:680px;margin:0;font-weight:700}.certificate-feature{background:linear-gradient(135deg, #fffffff0, #fff1d1e6), linear-gradient(90deg, var(--rose), var(--gold));box-shadow:9px 9px 0 var(--rose);margin-top:42px}.extras-feature,.poems-feature,.teacher-things-feature{grid-template-columns:1fr;margin-top:42px}.extras-feature{background:linear-gradient(135deg, #fffffff0, #e8fffbe6), linear-gradient(90deg, var(--aqua), var(--gold));box-shadow:9px 9px 0 var(--aqua)}.poems-feature{background:linear-gradient(135deg, #fffffff0, #ffebf2e0), linear-gradient(90deg, var(--rose), var(--blue));box-shadow:9px 9px 0 var(--rose)}.teacher-things-feature{background:linear-gradient(135deg, #fffffff0, #fff7e2e6), linear-gradient(90deg, #ff7a2f, var(--gold));box-shadow:9px 9px #ff7a2f}.teacher-resources{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.certificate-resources{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-resources a{border:2px solid var(--ink);min-height:132px;color:var(--ink);box-shadow:5px 5px 0 var(--ink);background:#ffffffe0;padding:18px;font-weight:900;transition:transform .16s,box-shadow .16s}.teacher-resources a:hover{box-shadow:8px 8px 0 var(--rose);background:#fffdf8;transform:translate(-2px,-2px)}.site-footer{border-top:2px solid var(--ink);background:var(--ink);color:#fff;justify-content:space-between;align-items:center;gap:18px;padding:28px clamp(18px,4vw,54px);display:flex}.site-footer span:first-child{font-family:"Baloo 2",Inter,sans-serif;font-size:1.4rem;font-weight:800}.footer-actions{text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:18px}.footer-book-link{background:var(--gold);color:var(--ink);box-shadow:4px 4px 0 var(--rose);white-space:nowrap;border:2px solid #fff;font-weight:900}.toolkit-modal[hidden]{display:none}.modal-open{overflow:hidden}.toolkit-modal{z-index:30;place-items:center;padding:clamp(14px,3vw,34px);display:grid;position:fixed;inset:0}.toolkit-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 20% 20%,#ffb80038,#0000 28%),radial-gradient(circle at 82% 18%,#00bfc738,#0000 24%),#172033a8;position:absolute;inset:0}.toolkit-dialog{border:2px solid var(--ink);background:#fff9ee;width:min(1120px,100%);max-height:calc(100vh - clamp(28px,6vw,68px));position:relative;overflow:auto;box-shadow:12px 12px #172033e6}.toolkit-modal-header{border-bottom:2px solid var(--ink);background:linear-gradient(110deg, #ffffffeb, #ecfbffdb), linear-gradient(90deg, var(--rose), var(--gold), var(--aqua));grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px;padding:clamp(20px,3vw,34px);display:grid}.toolkit-modal-header h2{font-size:clamp(2.2rem,4vw,4.4rem)}.toolkit-modal-header p:last-child{color:#172033b8;max-width:760px;margin:12px 0 0;font-weight:700}.toolkit-close{border:2px solid var(--ink);background:var(--rose);color:#fff;cursor:pointer;min-height:44px;font:inherit;box-shadow:4px 4px 0 var(--ink);border-radius:999px;padding:10px 16px;font-weight:900}.toolkit-modal-body{padding:clamp(18px,3vw,34px)}.modal-resource-group{gap:16px;padding:0 0 30px;display:grid}.modal-resource-group+.modal-resource-group{border-top:2px solid #1720332e;padding-top:30px}.modal-resource-group>div:first-child span,.modal-resource-grid span{color:#a8334f;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:900;display:block}.modal-resource-group h3{font-size:clamp(1.6rem,3vw,2.45rem)}.modal-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.modal-resource-grid a{border:2px solid var(--ink);min-height:108px;color:var(--ink);box-shadow:4px 4px 0 var(--ink);background:#ffffffe6;padding:16px;font-weight:900;transition:transform .16s,box-shadow .16s}.modal-resource-grid a:hover{box-shadow:7px 7px 0 var(--rose);background:#fffdf8;transform:translate(-2px,-2px)}@keyframes spinPortal{to{transform:rotate(360deg)}}@keyframes portalPulse{0%,to{filter:saturate();box-shadow:0 0 42px #00bfc733,inset 0 0 28px #ffffff3d}50%{filter:saturate(1.24);box-shadow:0 0 64px #ffb80047,0 0 36px #ff2f5f2e,inset 0 0 36px #ffffff57}}@keyframes portalSparkle{0%,to{opacity:.42;transform:scale(.96)rotate(0)}50%{opacity:.84;transform:scale(1.04)rotate(8deg)}}@keyframes heroGlow{0%,to{opacity:.74;transform:scale(.98)}50%{opacity:1;transform:scale(1.04)}}@keyframes titleSwoosh{0%,to{opacity:.74;transform:scaleX(.76)}50%{opacity:1;transform:scaleX(1)}}@keyframes capeWave{0%,to{transform:translate(-1.2%)skew(-2deg)}50%{transform:translate(1.2%,5px)skew(2deg)}}@keyframes riderFloat{0%,to{transform:translate3d(-3%, var(--rider-y), 0) rotateX(5deg) rotateY(-7deg)}50%{transform:translate3d(-4%, calc(var(--rider-y) - 10px), 0) rotateX(4deg) rotateY(-5deg)}}@keyframes characterLoop{to{transform:translate(calc(-50% - 9px))}}@media (prefers-reduced-motion:reduce){.character-track{animation:none}.character-carousel{overflow-x:auto}}@media (width<=980px){.site-header{flex-direction:column;align-items:flex-start;min-height:148px;padding-bottom:38px}.nav-links,.header-actions{justify-content:flex-start}.mobile-menu-panel{flex-direction:column;align-items:flex-start}.hero,.companion,.curriculum-layout,.toolkit-feature,.profile-section,.invite,.resource-link-grid{grid-template-columns:1fr}.hero{min-height:auto;padding-top:42px}.hero-art{min-height:560px}.rider-hero-art{--rider-y:18px;min-height:570px}.cape-motion-video{width:min(116%,720px);max-height:610px}.story-strip{grid-template-columns:1fr}.teacher-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-options,.form-schedule-row{grid-template-columns:1fr}.modal-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.site-header{flex-direction:row;align-items:center;min-height:86px;padding:12px 18px 18px;overflow:visible}.site-header:before,.site-header:after{pointer-events:none}.mobile-menu-toggle{z-index:4;margin-left:auto;display:inline-grid}.mobile-menu-panel{z-index:3;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink), 0 20px 38px #1720332e;background:#fff8e9fa;border-radius:18px;align-items:stretch;gap:14px;padding:16px;display:none;position:absolute;top:calc(100% - 2px);left:14px;right:14px}.site-header.mobile-menu-open .mobile-menu-panel{display:flex}.nav-cta,.footer-book-link{text-align:center;width:100%}.nav-links{align-items:stretch;gap:8px;width:100%;display:flex}.nav-links a{text-align:center;background:#fff;border:2px solid #1720331f;width:100%}.header-actions{gap:10px;width:100%;display:flex}.section-band{width:min(100% - 24px,1180px)}h1{white-space:normal;font-size:clamp(2.35rem,12vw,4.1rem)}h1:after{left:16%;right:16%}.hero-art,.rider-hero-art{--rider-y:8px;min-height:430px;overflow:hidden}.cape-motion-video{width:min(112%,500px);max-height:430px;transform:translate3d(0, var(--rider-y), 0) rotateX(4deg) rotateY(-5deg)}.character-card{flex-basis:min(86vw,360px);grid-template-columns:1fr;min-height:auto}.character-card img{height:260px;padding:12px 12px 0}.character-card div{padding:18px}.character-card p{font-size:.9rem}.story-strip div,.toolkit-feature,.book-panel,.profile-section>div,.invite-form,.curriculum-copy{padding:20px}.illustrator-photo img{max-height:360px}.site-footer{flex-direction:column;align-items:flex-start}.teacher-resources{grid-template-columns:1fr}.toolkit-modal{padding:10px}.toolkit-modal-header{grid-template-columns:1fr}.toolkit-close{width:100%}.modal-resource-grid{grid-template-columns:1fr}.footer-actions{text-align:left;justify-content:flex-start}}.curriculum-page:before{background-color:#0000;background-image:linear-gradient(135deg,#fff5dde0,#e6fcf6b8),url(/story/treehouse-atmosphere.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.curriculum-page main{padding:38px 0 0}.curriculum-page .section-band{width:min(1380px,100% - 48px)}.curriculum-hero{background:linear-gradient(135deg,#ffffffe6,#ffe9a8d6);border:2px solid #1720331f;border-radius:34px;grid-template-columns:minmax(0,.92fr) minmax(340px,.78fr);align-items:center;gap:clamp(28px,5vw,80px);min-height:610px;padding:clamp(58px,7vw,96px) clamp(36px,6vw,88px);display:grid;overflow:hidden;box-shadow:0 28px 80px #17203321}.curriculum-hero>div:first-child{z-index:2;min-width:0;position:relative}.curriculum-hero h1{text-wrap:balance;max-width:650px;margin:8px 0 20px;font-family:"Baloo 2",sans-serif;font-size:clamp(3.2rem,5vw,5.5rem);line-height:.92}.curriculum-hero>div:first-child>p:not(.eyebrow){max-width:650px;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.65}.curriculum-hero-art{z-index:1;place-items:center;min-height:470px;display:grid;position:relative}.curriculum-hero-art:before{aspect-ratio:1;content:"";background:linear-gradient(145deg, var(--aqua), var(--blue));border:4px solid #fff;border-radius:50%;width:min(390px,82%);position:absolute;box-shadow:0 0 0 16px #ffb80057,0 28px 70px #17203333}.curriculum-hero-art img{object-fit:contain;filter:drop-shadow(0 20px 22px #17203338);width:min(430px,96%);max-height:465px;position:relative}.curriculum-page .companion,.curriculum-page .curriculum{scroll-margin-top:105px}.curriculum-page .companion{background:#fffffff0;border:2px solid #1720331a;border-radius:30px;margin-top:30px;padding:clamp(54px,6vw,78px);box-shadow:0 22px 60px #1720331a}.curriculum-page .book-panel{border-radius:24px}.curriculum-page .module-stack div{border-color:#1720338c;border-radius:18px;box-shadow:5px 5px #172033cc}.curriculum-page .curriculum{padding:clamp(78px,8vw,110px) clamp(20px,4vw,58px)}.curriculum-page .curriculum .section-heading h2{max-width:950px;font-size:clamp(3rem,5.5vw,5.8rem);line-height:.92}.curriculum-page .curriculum-layout{gap:clamp(28px,5vw,64px);margin-top:38px}.curriculum-page .curriculum-copy{border-radius:0 24px 24px 0}.curriculum-page .curriculum-orbit{border-radius:26px;overflow:hidden}.curriculum-cta{text-align:center;color:#fff;background:linear-gradient(135deg,#172033,#263b70);border-radius:30px;margin-bottom:32px;padding:clamp(70px,8vw,105px) clamp(24px,8vw,130px)}.curriculum-cta h2{max-width:800px;margin:8px auto 14px;font-family:"Baloo 2",sans-serif;font-size:clamp(2.5rem,5vw,5rem);line-height:.95}.curriculum-cta>p:not(.eyebrow){color:#ffffffc7;max-width:720px;margin:0 auto 26px;line-height:1.65}.curriculum-footer{color:#fff;background:#0e1628;justify-content:space-between;gap:24px;padding:28px clamp(24px,8vw,130px);font-weight:800;display:flex}.curriculum-footer span{color:#fff9}@media (width<=900px){.curriculum-page .section-band{width:min(100% - 28px,1380px)}.curriculum-hero{grid-template-columns:1fr;padding-top:60px}.curriculum-hero-art{min-height:380px}.curriculum-hero-art img{max-height:400px}}@media (width<=620px){.curriculum-page main{padding-top:18px}.curriculum-hero{min-height:0;padding:50px 20px}.curriculum-hero h1{font-size:clamp(3rem,15vw,4.5rem)}.curriculum-hero-art{min-height:300px}.curriculum-hero-art img{max-height:310px}.curriculum-page .companion{padding:22px}.curriculum-page .curriculum{padding-inline:4px}.curriculum-cta{border-radius:22px}.curriculum-footer{flex-direction:column}}.book-button{appearance:none;cursor:pointer;font:inherit}[data-open-book]{color:var(--ink);border-color:var(--ink);box-shadow:5px 5px 0 var(--ink), 0 0 0 5px #ffd33438, 0 0 25px #ffb8008c;background-color:#ffd447;background-image:radial-gradient(circle,#fffffffa 0 2px,#0000 2.5px),radial-gradient(circle,#ffffffe6 0 1.4px,#0000 1.9px),radial-gradient(circle,#d281006b 0 1.6px,#0000 2px),linear-gradient(135deg,#ffe877,#ffc71f);background-position:7px 8px,23px 20px,35px 7px,0 0;background-size:38px 32px,44px 38px,52px 34px,auto;font-weight:900}[data-open-book]:hover{box-shadow:5px 7px 0 var(--ink), 0 0 0 6px #ffd33440, 0 0 32px #ffb800b3;transform:translateY(-2px)}.profile-section.section-band{width:min(1480px,100% - 32px);margin-bottom:clamp(56px,7vw,100px)}.profile-section{align-items:start;gap:clamp(24px,3vw,40px);display:grid}.profile-card{border:2px solid var(--ink);background:#ffffffdb;border-radius:28px;grid-template-columns:minmax(140px,190px) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,36px);min-width:0;padding:clamp(24px,3.2vw,42px);display:grid;box-shadow:9px 9px #17203321}.profile-card>div:last-child{min-width:0}.profile-card h2{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.9rem,3.8vw,4.6rem);line-height:.92}.profile-card p{max-width:48ch}.profile-photo-placeholder,.profile-photo{aspect-ratio:4/5;border:3px solid var(--ink);color:#fff;text-align:center;box-shadow:8px 8px 0 var(--gold);border-radius:48% 48% 42% 42%;align-content:center;display:grid;overflow:hidden}.profile-photo-placeholder{background:radial-gradient(circle at 35% 25%, #ffd75e 0 12%, transparent 13%), linear-gradient(145deg, var(--rose), #9a246d 54%, var(--blue));padding:18px}.profile-photo{background:linear-gradient(145deg, var(--aqua), var(--blue) 58%, #52248f);gap:10px;width:min(100%,190px);padding:0;position:relative}.profile-photo img{object-fit:cover;object-position:center 42%;width:100%;height:100%;min-height:0}.author-photo img{object-position:center 48%}.profile-photo-placeholder span{font-family:"Baloo 2",sans-serif;font-size:clamp(2.2rem,5vw,4.5rem);font-weight:800;line-height:1}.profile-photo-placeholder small,.profile-photo small{margin-top:10px;font-weight:800}.profile-photo small{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.illustrator-photo{background:radial-gradient(circle at 65% 22%, #fff 0 10%, transparent 11%), linear-gradient(145deg, var(--aqua), var(--blue) 58%, #52248f)}.podcast-promo{color:#fff;background:#172033;border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 16px;width:100%;margin-top:22px;padding:18px;display:grid}.podcast-promo>div{min-width:0}.podcast-promo strong{line-height:1.2;display:block}.podcast-promo p{color:#ffffffc7;margin:5px 0 0;font-size:.9rem;line-height:1.55}.podcast-promo .coming-soon-pill{grid-column:2;justify-self:start}.podcast-icon{width:48px;height:48px;color:var(--rose);box-shadow:inset 0 0 0 8px var(--gold);border:2px solid #fff;border-radius:50%;place-items:center;display:grid}.coming-soon-pill{background:var(--gold);max-width:100%;color:var(--ink);white-space:normal;border-radius:999px;padding:8px 11px;font-size:.72rem;font-weight:900}.events-section{background:linear-gradient(135deg,#fffffff0,#ffebb5e6);border:2px solid #17203329;border-radius:36px;width:min(1380px,100% - 32px);padding:clamp(76px,8vw,118px) clamp(28px,7vw,118px);position:relative;overflow:hidden;box-shadow:0 28px 80px #1720331f}.events-section .section-heading{max-width:980px}.events-section .section-heading h2{font-size:clamp(2.6rem,4.7vw,5.6rem);line-height:.98}.event-tabs,.toolkit-tabs{flex-wrap:wrap;gap:9px;display:flex}.event-tabs{margin:28px 0}.event-tabs button,.toolkit-tabs button{appearance:none;border:2px solid var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:999px;padding:10px 15px;font-size:.82rem;font-weight:900}.event-tabs button[aria-selected=true],.toolkit-tabs button[aria-selected=true]{background:var(--gold);box-shadow:4px 4px 0 var(--ink)}.event-card,.event-gallery-placeholder{border:2px solid var(--ink);max-width:780px;box-shadow:8px 8px 0 var(--aqua);background:#fff;border-radius:28px;padding:clamp(26px,4vw,46px)}.event-date,.event-location{background:var(--rose);color:#fff;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:900;display:inline-block}.event-location{background:var(--ink)}.event-gallery-placeholder{background:repeating-linear-gradient(135deg,#fff 0 18px,#fff7df 18px 36px);min-height:220px}.event-gallery-placeholder span{font-family:"Baloo 2",sans-serif;font-size:1.6rem;font-weight:800}.toolkit-tabs{z-index:2;background:inherit;padding:4px 0 18px;position:sticky;top:0}.resource-coming-soon{background:#ffffff9e;border:2px dashed #17203359;border-radius:18px;gap:6px;min-height:118px;padding:17px;display:grid}.resource-coming-soon span{color:var(--rose);text-transform:uppercase;font-size:.73rem;font-weight:900}.resource-coming-soon small{color:#17203399}.book-modal[hidden],.event-panel[hidden],.modal-resource-group[hidden]{display:none}.book-modal{z-index:40;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.book-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0f1db8;position:absolute;inset:0}.book-dialog{border:3px solid var(--ink);background:var(--paper);border-radius:34px;grid-template-columns:minmax(270px,.7fr) 1.3fr;width:min(1120px,94vw);height:min(720px,100dvh - 36px);display:grid;position:relative;overflow:hidden;box-shadow:12px 12px #ffb800bf}.book-modal-close{z-index:2;border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.7rem;line-height:1;display:grid;position:absolute;top:14px;right:14px}.book-cover-stage{background:radial-gradient(circle at 50% 42%,#ffe26557,#0000 34%),linear-gradient(165deg,#80e0db,#2368d7 60%,#172033);place-items:center;min-height:0;padding:34px 10px 18px;display:grid;position:relative;overflow:hidden}.book-cover-stage:before{content:"";border:3px solid #ffffffc2;border-radius:50%;position:absolute;inset:8% 13%;box-shadow:0 0 60px #ffda60ad}.book-cover-stage img{object-fit:contain;filter:drop-shadow(0 18px 22px #00000047);width:106%;max-width:none;max-height:570px;position:relative;transform:translate(-11%)}.book-cover-stage>span{background:var(--gold);text-transform:uppercase;border-radius:999px;padding:8px 12px;font-weight:900;position:absolute;top:24px;left:24px}.book-offer-copy{align-content:start;padding:28px clamp(30px,4vw,44px);display:grid;overflow-y:auto}.author-social-chip{background:#fff;border:1px solid #17203326;border-radius:999px;align-items:center;gap:10px;width:fit-content;margin-bottom:12px;padding:6px 12px 6px 6px;display:inline-flex}.author-social-chip img{border:2px solid var(--ink);object-fit:cover;object-position:77% 44%;border-radius:50%;width:40px;height:40px}.author-social-chip div{display:grid}.author-social-chip small{color:#1720339e;font-size:.7rem}.book-offer-copy .eyebrow{margin:0 0 7px}.book-offer-copy h2{margin:0 0 10px;font-family:"Baloo 2",sans-serif;font-size:clamp(2.05rem,3.2vw,3rem);line-height:.94}.book-offer-copy>p:not(.eyebrow):not(.checkout-status){margin:0 0 12px;line-height:1.48}.book-checkout-form{gap:12px;display:grid}.book-format-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;display:grid}.book-format-options legend{color:var(--rose);text-transform:uppercase;grid-column:1/-1;margin-bottom:2px;font-size:.75rem;font-weight:900}.book-format-card{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:16px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex;position:relative;box-shadow:4px 4px #17203329}.book-format-card:has(input:checked){box-shadow:4px 4px 0 var(--gold);background:linear-gradient(135deg,#fff4bc,#e8fffb)}.book-format-card input{width:18px;height:18px;accent-color:var(--rose)}.book-format-card span{min-width:0;line-height:1.12;display:grid}.book-format-card strong{font-size:.94rem}.book-format-card small{color:#172033ad;font-weight:900}.book-checkout-grid,.book-address-grid{gap:10px;display:grid}.book-checkout-grid{grid-template-columns:.62fr .7fr .9fr}.book-address-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-address-wide{grid-column:1/-1}.book-address-details{background:#ffffff80;border:2px dashed #1720333d;border-radius:16px}.book-address-details summary{cursor:pointer;color:#172033bd;padding:10px 12px;font-size:.76rem;font-weight:900}.book-address-details[open]{padding:0 10px 10px}.book-address-details[open] summary{padding-inline:2px}.book-checkout-form label{color:var(--ink);gap:5px;font-size:.76rem;font-weight:900;display:grid}.book-checkout-form input{border:2px solid var(--ink);width:100%;min-width:0;height:42px;color:var(--ink);font:inherit;background:#ffffffdb;border-radius:0;padding:0 12px;font-weight:800}.book-checkout-form input::placeholder{color:#17203373}.book-total-card{border:2px solid var(--ink);background:linear-gradient(135deg,#fffffff5,#fff4bee0);border-radius:18px;gap:6px;padding:12px 14px;display:grid;box-shadow:5px 5px #2468d7c7}.book-total-card div{justify-content:space-between;align-items:center;gap:16px;display:flex}.book-total-card span{color:#172033ad;font-size:.76rem;font-weight:900}.book-total-card strong{white-space:nowrap;font-size:1.05rem}.book-total-card div:last-of-type{border-top:1px solid #1720332e;padding-top:6px}.book-total-card div:last-of-type strong{color:var(--rose);font-size:1.28rem}.book-total-card small{color:#1720339e;font-size:.72rem;line-height:1.4}.payment-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.payment-link,.copy-order-button{border:2px solid var(--ink);min-height:46px;color:var(--ink);cursor:pointer;font:inherit;text-align:center;box-shadow:4px 4px 0 var(--ink);border-radius:16px;place-items:center;padding:10px 12px;font-size:.84rem;font-weight:900;text-decoration:none;display:grid}.cashapp-link{background:#00d632}.paypal-link{background:#ffd447}.copy-order-button{background:#fff}.payment-link.is-disabled{opacity:.56;filter:grayscale(.3)}.checkout-status{color:#172033b3;margin:11px 0 12px;font-size:.75rem}.book-offer-copy>.button{text-align:center;padding:11px 16px}@media (height<=720px) and (width>=781px){.book-dialog{width:min(1040px,94vw);height:calc(100dvh - 24px)}.book-cover-stage img{width:96%;max-height:calc(100dvh - 105px)}.book-offer-copy{padding-block:18px}.author-social-chip{margin-bottom:7px}.book-offer-copy h2{font-size:clamp(2rem,3.2vw,2.85rem)}.book-offer-copy>p:not(.eyebrow):not(.checkout-status){margin-bottom:8px;font-size:.9rem;line-height:1.38}.book-checkout-form{gap:9px}.book-checkout-form input{height:36px}.book-total-card{padding-block:9px}.payment-link,.copy-order-button{min-height:40px}.checkout-status{margin:7px 0}}@media (width<=780px){.profile-card,.book-dialog{grid-template-columns:1fr}.profile-photo-placeholder{width:min(230px,72vw)}.podcast-promo{grid-template-columns:auto 1fr}.podcast-promo .coming-soon-pill{grid-column:1/-1;justify-self:start}.book-dialog{height:auto;max-height:92vh;overflow-y:auto}.book-cover-stage{min-height:300px}.book-cover-stage img{width:min(120%,520px);max-height:300px;transform:translate(-10%)}.book-offer-copy{overflow:visible}}@media (width<=520px){.book-format-options,.book-checkout-grid,.book-address-grid,.payment-link-grid{grid-template-columns:1fr}.book-address-wide{grid-column:auto}.book-offer-copy{padding:32px 22px}.toolkit-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:14px;display:grid;overflow:visible}.toolkit-tabs button{white-space:normal;min-width:0;padding-inline:10px}}@media (prefers-reduced-motion:reduce){#magic-world{display:none}*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-footer{grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:clamp(26px,4vw,64px);padding:34px clamp(24px,5vw,72px);display:grid}.footer-brand{align-items:center;gap:13px;min-width:210px;font-family:"Baloo 2",Inter,sans-serif;font-size:1.35rem;font-weight:800;line-height:1;display:flex}.footer-brand-mark{background:var(--gold);width:54px;height:54px;box-shadow:4px 4px 0 var(--rose);border:2px solid #fff;border-radius:50%;flex:none;display:block;overflow:hidden}.footer-brand-mark img{object-fit:cover;object-position:center;width:100%;height:100%;transform:translate(-5px,2px)scale(1.25)}.footer-message{color:#ffffffc7;text-align:center;justify-self:center;max-width:720px;margin:0;font-size:.95rem;font-weight:600;line-height:1.6}.site-footer .footer-actions{text-align:left;flex-wrap:nowrap;justify-content:flex-end;gap:12px;display:flex}.site-footer .footer-book-link{min-height:46px;padding-inline:18px}@media (width<=1040px){.site-footer{grid-template-columns:auto 1fr}.footer-message{text-align:left;justify-self:start}.site-footer .footer-actions{grid-column:1/-1;justify-content:center}}@media (width>=781px) and (width<=1180px){.profile-section{grid-template-columns:1fr}.profile-card{grid-template-columns:minmax(150px,220px) minmax(0,1fr)}.profile-photo{width:min(100%,220px)}}@media (width<=620px){.site-footer{grid-template-columns:1fr;gap:22px}.footer-brand{min-width:0}.footer-message{text-align:left}.site-footer .footer-actions{flex-direction:column;grid-column:auto;width:100%}}
