@font-face{font-family:Nunito;src:url('assets/nunito-400.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-600.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-700.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-800.woff') format('woff');font-weight:800;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-900.woff') format('woff');font-weight:900;font-display:swap}
:root{--cream:#fffbee;--ink:#173c47;--muted:#5c6f71;--purple:#7548aa;--teal:#0c7978;--yellow:#ffda59;--mint:#e9f5ed;--line:#dedfd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,'Arial Rounded MT Bold',Arial,sans-serif;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #1498b0;outline-offset:5px}.wrap{width:min(1220px,calc(100% - 100px));margin-inline:auto}.header{border-bottom:1px solid #e6e7d9;background:var(--cream);position:sticky;top:0;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;height:102px;gap:35px}.brand{width:174px;flex-shrink:0}.brand img{width:100%;height:84px;object-fit:contain;mix-blend-mode:multiply}.nav nav{display:flex;gap:34px;font-size:15px;font-weight:800}.nav nav a:hover,.text-link:hover{color:var(--purple)}.button{display:inline-flex;gap:13px;align-items:center;justify-content:center;padding:15px 24px;border:1.5px solid var(--ink);border-radius:12px;font-weight:850;font-size:16px;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-3px);box-shadow:0 5px 0 var(--ink)}.button.small{font-size:14px;padding:10px 17px;background:#ffdf68}.primary{background:var(--yellow);box-shadow:0 4px 0 var(--ink)}.primary:hover{box-shadow:0 7px 0 var(--ink)}.youtube-icon{font-size:10px;background:var(--ink);color:var(--yellow);width:24px;height:17px;display:grid;place-items:center;border-radius:5px}.hero{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;min-height:657px;padding-top:50px;padding-bottom:60px;gap:16px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:900;display:flex;align-items:center;gap:9px}.hero .eyebrow{font-size:12px;letter-spacing:.35px}.tiny-star{color:var(--purple);font-size:24px}.hero h1{font-size:clamp(42px,4.45vw,65px);line-height:1.12;letter-spacing:-2.5px;margin:22px 0;font-weight:900}.purple{color:var(--purple)}.teal{color:var(--teal)}.underlined{position:relative;white-space:nowrap}.underlined:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:7px;background:#ffcf45;border-radius:50%;transform:rotate(-3deg)}.hero p{color:var(--muted);font-size:17px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:14px;font-weight:850;background:none;border:0;padding:0}.hero-actions .text-link{font-size:13px}.play-small{font-size:13px}.hero-note{margin-top:27px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);font-weight:750}.mini-hearts{color:var(--purple);font-size:24px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-art>img{height:540px;width:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply}.hello{position:absolute;left:24px;top:18px;background:white;border:2px solid var(--ink);border-radius:50% 50% 5px 50%;padding:10px 23px;font-size:22px;font-weight:900;transform:rotate(-9deg);z-index:1;box-shadow:3px 3px 0 #173c47}.hello span{color:#eeaf27}.art-caption{position:absolute;right:0;bottom:0;font-size:14px;font-weight:850;background:#e6ddf5;border-radius:10px;padding:9px 17px;transform:rotate(-5deg)}.art-caption span{color:var(--purple);padding-right:8px}.spiral{position:absolute;right:0;top:90px;color:#c8b5e3;font-size:70px;transform:rotate(45deg)}.ribbon{background:#cfeae4;border-top:1px solid #acd5ca;border-bottom:1px solid #acd5ca;overflow:hidden;padding:15px 0}.ribbon>div{display:flex;gap:45px;white-space:nowrap;align-items:center;justify-content:center;font-size:12px;letter-spacing:2px;font-weight:900}.ribbon span{font-size:22px;color:#5d8e7b;line-height:1}.section{padding-top:86px;padding-bottom:86px}h2{font-size:38px;line-height:1.2;letter-spacing:-1.2px;margin:13px 0 15px;font-weight:900}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-heading p{color:var(--muted);margin:0}.section-heading>.text-link{padding-bottom:7px;white-space:nowrap}.filter-row{display:flex;gap:11px;margin:33px 0 28px;flex-wrap:wrap}.filter{border:1px solid #d7dacc;background:transparent;padding:8px 17px;border-radius:30px;font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px}.filter.active{background:var(--ink);border-color:var(--ink);color:white}.filter-dot{width:9px;height:9px;border-radius:50%}.coral{background:#e47a6c}.violet{background:#a18bcd}.turquoise{background:#66bba8}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.video-card{border:1px solid #deded2;border-radius:17px;overflow:hidden;background:#fffef8;transition:transform .2s,box-shadow .2s}.video-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #173c470b}.thumbnail{border:0;padding:0;background:#eee;position:relative;width:100%;display:block;aspect-ratio:16/9;overflow:hidden}.thumbnail img{width:100%;height:100%;object-fit:cover}.play-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fffef6e8;border:1.5px solid var(--ink);padding-left:3px;font-size:17px;box-shadow:0 3px 0 #173c4744;transition:scale .2s}.thumbnail:hover .play-circle{scale:1.12}.duration{position:absolute;right:10px;bottom:9px;border-radius:5px;background:#173c47e8;color:white;font-size:11px;padding:1px 7px;font-weight:750}.new-label{position:absolute;left:12px;top:12px;background:var(--yellow);font-size:10px;padding:3px 9px;border-radius:5px;font-weight:900}.card-body{padding:22px}.category{font-size:10px;letter-spacing:1.4px;font-weight:900}.violet-text{color:#77549d}.coral-text{color:#ae5545}.teal-text{color:var(--teal)}h3{font-size:21px;line-height:1.3;font-weight:900;margin:8px 0}h3 button{background:none;border:0;text-align:left;padding:0;font-weight:inherit;line-height:inherit;font-size:inherit}.card-body p{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:20px;min-height:42px}.card-link{background:none;border:0;padding:14px 0 0;border-top:1px solid #e8e8df;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:850}.card-link span{font-size:20px}.video-hint{display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;color:#647576;margin:25px 0 0}.about{background:#edf4e9;border-top:1px solid #e3eadc;border-bottom:1px solid #e3eadc}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-picture{position:relative;transform:rotate(-3deg);padding-bottom:20px}.about-picture img{border:7px solid #fffef8;border-bottom-width:34px;border-radius:18px;aspect-ratio:1.23;object-fit:cover;box-shadow:0 4px 0 #d2ddcb}.picture-note{background:var(--yellow);font-size:13px;font-weight:800;padding:8px 15px;position:absolute;right:-18px;bottom:8px;transform:rotate(6deg);border-radius:5px}.picture-note span{padding-left:15px}.about-copy p{color:var(--muted);font-size:15px}.manni-signature{color:var(--purple);font-size:28px;font-weight:900;transform:rotate(-5deg);display:inline-block;margin-top:10px}.manni-signature span{padding-left:10px}.play-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.play-intro{position:relative}.play-intro p{color:var(--muted)}.drawn-arrow{position:absolute;right:20px;bottom:-20px;font-size:90px;color:#b9a2d6;transform:rotate(-12deg)}.color-game{border:1.5px solid #c5b4dc;background:#efe7f7;border-radius:26px;padding:29px 28px;text-align:center;min-height:310px;box-shadow:0 6px 0 #ddd0ed}.game-label{font-size:10px;letter-spacing:1.8px;font-weight:900;color:#74588b}.color-game h3{font-size:28px;margin-top:9px}.color-options{display:flex;justify-content:center;gap:28px;margin:28px 0 19px}.color-ball{width:85px;height:85px;border:2px solid var(--ink);border-radius:50%;box-shadow:0 5px 0 var(--ink);position:relative;transition:transform .16s}.color-ball:hover{transform:translateY(-4px) rotate(6deg)}.color-ball:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}.color-ball span{position:absolute;left:20px;top:13px;width:22px;height:12px;border-radius:50%;background:#ffffff70;transform:rotate(-30deg)}.red{background:#ef7669}.yellow{background:#ffda59}.blue{background:#65b4dc}.color-game p{font-size:14px;font-weight:750;margin:13px 0 0}.next-color{margin:10px auto 0;color:var(--purple)}[hidden]{display:none!important}.parents{background:#f3f1e7;border-top:1px solid #e8e5d9;border-bottom:1px solid #e8e5d9}.parents-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.parents p{font-size:14px;color:var(--muted)}.parent-tip{display:flex;gap:18px;margin-top:28px}.parent-tip>span{font-size:35px;color:#b68a18}.parent-tip strong{font-size:14px}.parent-tip p{margin:5px 0}.faq{padding-top:10px}details{border-bottom:1px solid #cfd5c9;padding:20px 0}summary{font-size:15px;font-weight:850;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:22px;color:var(--teal);line-height:1}details[open] summary span{transform:rotate(45deg)}details p{margin-bottom:0}.join{position:relative;text-align:center;padding-top:76px;padding-bottom:79px}.join .eyebrow{justify-content:center}.join h2{font-size:49px;margin:12px 0;color:var(--purple)}.join p{font-size:15px;color:var(--muted);margin-bottom:26px}.join-star{position:absolute;left:8%;top:70px;font-size:90px;color:#f4c744;transform:rotate(12deg)}.join-flower{position:absolute;right:8%;bottom:70px;font-size:95px;color:#9dcfc1}.footer{border-top:1px solid #dedfd2;display:flex;gap:28px;align-items:center;padding:20px 0 25px;font-size:12px}.footer .brand{width:132px}.footer .brand img{height:70px}.footer p{flex:1;color:var(--muted)}.footer a:not(.brand){font-weight:800}.plain{border:0;padding:0;background:none;font-size:12px}.back-top{width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:18px}dialog{width:min(880px,calc(100% - 32px));max-height:90vh;overflow:auto;background:var(--cream);border:2px solid var(--ink);border-radius:20px;padding:0;color:var(--ink)}dialog::backdrop{background:#12343dd6;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 25px;border-bottom:1px solid var(--line);gap:20px}.dialog-head h2{font-size:23px;margin:0;letter-spacing:-.5px}.close{border:1px solid #c2cbbd;background:none;border-radius:50%;height:38px;width:38px;font-size:26px;line-height:1;flex-shrink:0}.consent{padding:42px;text-align:center;min-height:280px;background:var(--mint)}.consent h3{font-size:27px}.consent p{max-width:540px;margin:15px auto 26px;color:var(--muted);font-size:14px}.dialog-foot{padding:14px 25px;font-size:12px;text-align:right;font-weight:800}.player{aspect-ratio:16/9;display:block;width:100%;border:0;background:#173c47}.privacy-content{padding:20px 28px 30px;font-size:15px}.privacy-content a{text-decoration:underline}#privacy-dialog{max-width:650px}.skip{position:fixed;top:-100px;left:20px;z-index:30;background:var(--ink);color:white;padding:15px}.skip:focus{top:10px}
@media(min-width:1600px){.hero h1{font-size:66px}.hero{min-height:700px}}
@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.nav{gap:20px}.nav nav{gap:20px}.hero h1{font-size:48px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-art>img{height:520px}.hero-art .hello{left:0}.about-grid{gap:50px}.play-section{gap:50px}.parents-grid{gap:45px}.card-body{padding:18px}.card-body h3{font-size:19px}.section-heading{align-items:flex-start}.section-heading>.text-link{padding-top:40px}.join-star{left:1%}.join-flower{right:1%}}
@media(max-width:760px){html{scroll-padding-top:135px}.wrap{width:calc(100% - 38px)}.nav{height:112px;flex-wrap:wrap;gap:0;padding-top:5px;padding-bottom:10px}.brand{width:130px}.brand img{height:65px}.nav nav{order:3;width:100%;justify-content:space-between;gap:8px;font-size:12px}.button.small{padding:7px 12px;font-size:12px}.hero{grid-template-columns:1fr;gap:10px;padding-top:35px;padding-bottom:34px}.hero h1{font-size:45px;letter-spacing:-1.9px;line-height:1.14}.hero-copy{max-width:530px}.hero p{font-size:15px}.hero .eyebrow{font-size:10px}.hero-actions{flex-direction:row;align-items:center;gap:17px;flex-wrap:wrap;margin-top:25px}.hero .button{font-size:13px;padding:13px 17px}.hero-note{margin-top:16px}.hero-art{height:380px;margin-top:5px}.hero-art>img{height:390px;width:100%;object-fit:cover}.hello{top:15px!important;left:10px!important;font-size:19px;padding:8px 17px}.art-caption{font-size:12px;bottom:3px;right:5px}.spiral{font-size:50px;top:40px}.ribbon>div{font-size:10px;gap:28px}.ribbon{padding:12px 0}.section{padding-top:54px;padding-bottom:54px}h2{font-size:31px}.section-heading{display:block}.section-heading>.text-link{padding-top:18px;font-size:12px}.section-heading p{font-size:14px}.filter-row{gap:8px;margin-top:25px}.filter{font-size:11px;padding:7px 12px}.video-grid{grid-template-columns:1fr;gap:24px}.thumbnail{aspect-ratio:16/9}.card-body{padding:20px}.card-body h3{font-size:22px}.card-body p{min-height:0}.video-hint{font-size:10px;text-align:center}.about-grid{grid-template-columns:1fr;gap:32px}.about-picture{max-width:470px;width:calc(100% - 20px);margin:auto}.about-picture img{aspect-ratio:1.5}.about-copy{padding-top:8px}.play-section{grid-template-columns:1fr;gap:23px}.play-intro h2 br{display:none}.play-intro p br{display:none}.drawn-arrow{font-size:65px;bottom:-8px;right:30px;transform:rotate(60deg)}.color-game{padding:25px 16px}.color-options{gap:24px}.color-ball{width:72px;height:72px}.parents-grid{grid-template-columns:1fr;gap:15px}.faq{padding-top:0}.join{padding-top:55px;padding-bottom:60px}.join h2{font-size:42px}.join .eyebrow{font-size:9px;letter-spacing:1px}.join p{font-size:13px;position:relative;z-index:1}.join .button{font-size:12px;padding:14px 17px;position:relative;z-index:1}.join-star{font-size:43px;left:-5px;top:60px}.join-flower{font-size:45px;right:0;bottom:25px}.footer{gap:14px;flex-wrap:wrap;padding-top:15px}.footer p{font-size:10px}.footer .brand{width:100px}.footer .brand img{height:55px}.footer .plain{margin-left:auto}.footer .back-top{width:28px;height:28px}.dialog-head{padding:15px}.dialog-head h2{font-size:18px}.consent{padding:28px 20px}.consent h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
main{overflow-x:clip}
@media(max-width:760px){.hero h1{font-size:38px;letter-spacing:-1.6px}.hero{padding-top:25px}.hero h1{margin-top:16px}}
.hero-art>img{mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);border-radius:45% 45% 35% 35%}
.brand img{border-radius:16px}

.gold{background:#e5b93f}.gold-text{color:#937015}.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.video-card{display:flex;flex-direction:column}.card-body{display:flex;flex-direction:column;flex:1;padding:20px}.card-body h3{font-size:20px;min-height:52px}.card-link{margin-top:auto}
@media(max-width:1100px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.video-grid{grid-template-columns:1fr}.card-body h3{min-height:0;font-size:22px}}

.support-link strong{color:var(--purple);text-decoration:underline;text-underline-offset:3px}.support-link:hover strong{color:var(--teal)}.join .subscribe-note{font-size:12px;margin-top:18px;margin-bottom:0}.join-star{top:110px}.join-flower{bottom:100px}
@media(max-width:760px){.nav>.button.small{font-size:11px;padding:8px 10px;gap:7px}.hero-note{font-size:11px}.join h2{font-size:38px}.join-star{top:88px;left:0}.join-flower{bottom:24px}}

.footer .imprint-link{font-size:11px;font-weight:600;opacity:.8;order:10;flex-basis:100%;text-align:right;margin-top:-12px}.footer .imprint-link:hover{opacity:1;text-decoration:underline}.card-link{text-decoration:none}.section-heading p{max-width:670px}
.footer{flex-wrap:wrap}.footer .imprint-link{margin-top:-8px}
/* Neutralise the light JPG matte so multiply blends it into the page. */
.brand img{filter:brightness(1.15);mix-blend-mode:multiply}

/* A calmer, animated picture-book world with larger, more readable text. */
body{font-size:18px}.nav nav{font-size:16px}.button{font-size:17px}.button.small{font-size:15px}.eyebrow{font-size:12px}.hero .eyebrow{font-size:13px}.hero h1{font-size:clamp(47px,4.7vw,68px)}.hero p{font-size:19px}.hero-actions .text-link{font-size:15px}.hero-note{font-size:14px}h2{font-size:43px}.section-heading p{font-size:18px}.section-heading>.text-link{font-size:15px}.filter{font-size:15px}.category{font-size:11px}.card-body h3{font-size:23px;min-height:60px}.card-body p{font-size:16px}.card-link{font-size:15px}.video-hint{font-size:13px}.about-copy p,.play-intro p,.parents p{font-size:18px}.parent-tip strong{font-size:17px}summary{font-size:18px}.game-label{font-size:12px}.color-game h3{font-size:33px}.color-game p{font-size:17px}.text-link{font-size:16px}.join h2{font-size:56px}.join p{font-size:18px}.join .subscribe-note{font-size:14px}.footer{font-size:14px}.plain{font-size:13px}.consent p,.privacy-content{font-size:16px}.hero{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.hero-copy{min-width:0}.hero-actions{flex-wrap:wrap}.header{transition:box-shadow .3s,background .3s}.header.is-scrolled{box-shadow:0 8px 24px #173c4710;background:#fffbeef5}.scroll-progress{position:absolute;bottom:-2px;left:0;height:3px;width:100%;transform:scaleX(var(--scroll-progress,0));transform-origin:left;background:linear-gradient(90deg,#0c7978,#9b78ca,#ffce46);pointer-events:none}
.hero,.about,.play-section,.parents,.join{position:relative;isolation:isolate}.motion-backdrop{position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;pointer-events:none;z-index:-1;overflow:visible;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent)}.motion-backdrop .orb{position:absolute;border-radius:50%;width:280px;height:280px;background:radial-gradient(circle,#d7ede2a6 0%,#d7ede200 70%);animation:orb-drift 16s ease-in-out infinite alternate}.motion-backdrop .orb:nth-child(1){left:-120px;top:15%}.motion-backdrop .orb:nth-child(2){background:radial-gradient(circle,#e7d9f688 0%,#e7d9f600 70%);right:-80px;bottom:4%;animation-duration:21s;animation-delay:-8s}.motion-backdrop .orbit-shape{position:absolute;width:33px;height:33px;border:3px solid #8bbdaf;border-radius:50%;opacity:.32;left:48%;top:10%;animation:shape-drift 11s ease-in-out infinite alternate}.motion-backdrop .orbit-shape:last-child{left:auto;right:5%;top:auto;bottom:12%;border-color:#c49add;border-radius:8px;width:26px;height:26px;animation-delay:-5s}.hero .motion-backdrop .orb{width:420px;height:420px}.about .motion-backdrop,.parents .motion-backdrop{border-radius:0}.play-section .motion-backdrop .orb{background:radial-gradient(circle,#ffe69d88 0%,#ffe69d00 70%)}
.hero-art>img{transform:translateY(var(--scroll-drift,0px)) rotate(calc(var(--scroll-turn,0) * 1deg));will-change:transform}.about-picture{transform:translateY(var(--scroll-drift,0px)) rotate(-3deg)}.hello{animation:hello-bob 5s ease-in-out infinite}.art-caption{animation:caption-bob 6s ease-in-out infinite}.hero .tiny-star{animation:star-turn 12s ease-in-out infinite}.spiral{animation:spiral-sway 9s ease-in-out infinite}.join-star{animation:star-turn 14s ease-in-out infinite}.join-flower{animation:flower-turn 30s linear infinite}.underlined:after{transform-origin:left;animation:underline-in .85s .25s both}.hero-copy{animation:hero-enter .8s ease-out both}.hero-art{animation:hero-enter 1s .1s ease-out both}.brand{transition:transform .25s}.brand:hover{transform:rotate(-3deg) scale(1.04)}
.ribbon>div.ribbon-track{width:max-content;gap:0;justify-content:flex-start;animation:ribbon-travel 45s linear infinite}.ribbon-set{display:flex;align-items:center;gap:38px;padding-right:38px;flex-shrink:0}.ribbon:hover .ribbon-track{animation-play-state:paused}.reveal{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.7,.25,1);transition-delay:var(--reveal-delay,0ms)}.reveal.is-pending{opacity:0;translate:0 30px}.reveal.is-visible{opacity:1;translate:0 0}.video-card{transition:transform .25s,box-shadow .25s,opacity .7s,translate .7s}.video-card:hover{transform:translateY(-8px);box-shadow:0 13px 28px #173c4715}.video-card .thumbnail img{transition:transform .5s}.video-card:hover .thumbnail img{transform:scale(1.045)}.color-game{position:relative}.color-game.is-celebrating{animation:celebrate-card .6s ease-in-out}.color-game.is-celebrating:after{content:'✦';position:absolute;right:24px;top:28px;font-size:36px;color:#9670bd;animation:celebrate-star .65s ease-out both;pointer-events:none}.motion-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5d9ca;border-radius:20px;background:transparent;padding:5px 10px;font-size:12px;color:var(--muted)}.motion-toggle:hover{background:#e9f5ed;color:var(--ink)}
@keyframes hero-enter{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes underline-in{from{scale:0 1}to{scale:1 1}}@keyframes hello-bob{0%,100%{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-7px) rotate(-6deg)}}@keyframes caption-bob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(5px) rotate(-2deg)}}@keyframes spiral-sway{0%,100%{transform:rotate(35deg)}50%{transform:rotate(55deg)}}@keyframes star-turn{0%,100%{rotate:-8deg;scale:1}50%{rotate:12deg;scale:1.08}}@keyframes flower-turn{to{rotate:360deg}}@keyframes orb-drift{from{transform:translate3d(-14px,8px,0) scale(.94)}to{transform:translate3d(32px,-22px,0) scale(1.09)}}@keyframes shape-drift{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(12px,-22px,0) rotate(35deg)}}@keyframes ribbon-travel{to{transform:translateX(-50%)}}@keyframes celebrate-card{0%,100%{rotate:0deg}30%{rotate:-1deg}65%{rotate:1deg}}@keyframes celebrate-star{from{opacity:0;scale:.5;translate:0 12px}60%{opacity:1}to{opacity:0;scale:1.3;translate:0 -25px}}
@media(max-width:1100px){.hero h1{font-size:51px}.hero p{font-size:18px}.hero-actions{gap:20px}.nav nav{gap:18px}.about-grid{gap:45px}.parents-grid{gap:42px}.join-star{left:0}.join-flower{right:0}}
@media(max-width:760px){body{font-size:17px}.hero{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:42px;line-height:1.13}.hero p{font-size:17px}.hero .eyebrow{font-size:11px}.hero .button{font-size:15px}.hero-actions .text-link{font-size:14px}.hero-note{font-size:12px}.nav nav{font-size:13px}.nav>.button.small{font-size:11px}.eyebrow{font-size:11px}h2{font-size:35px}.section-heading p{font-size:16px}.section-heading>.text-link{font-size:14px}.filter{font-size:13px}.card-body h3{font-size:24px;min-height:0}.card-body p{font-size:16px}.category{font-size:11px}.video-hint{font-size:11px}.about-copy p,.play-intro p,.parents p{font-size:17px}summary{font-size:17px}.parent-tip strong{font-size:16px}.color-game h3{font-size:30px}.color-game p{font-size:16px}.join h2{font-size:41px}.join p{font-size:16px}.join .button{font-size:14px}.join .subscribe-note{font-size:12px}.join-star{left:-7px;font-size:35px;top:105px}.join-flower{bottom:22px;font-size:40px}.footer p{font-size:12px}.footer .plain{font-size:12px}.footer .motion-toggle{font-size:11px}.ribbon-set{gap:28px;padding-right:28px}.motion-backdrop .orb{width:200px;height:200px}.motion-backdrop .orbit-shape{width:20px;height:20px}.reveal.is-pending{translate:0 20px}}
html[data-motion="off"]{scroll-behavior:auto}html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important}html[data-motion="off"] .reveal{opacity:1;translate:0 0}html[data-motion="off"] .hero-art>img{transform:none}html[data-motion="off"] .motion-backdrop{transform:none}html[data-motion="off"] .about-picture{transform:rotate(-3deg)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;translate:0 0!important}.hero-art>img,.motion-backdrop{transform:none!important}.about-picture{transform:rotate(-3deg)!important}}
.ribbon .ribbon-set{font-size:14px;line-height:1.3}
@media(max-width:760px){.ribbon .ribbon-set{font-size:12px}}

/* Full-width scenery fades out before section boundaries, never at content edges. */
.motion-backdrop .orb:nth-child(1){left:clamp(-75px,4vw,100px)}
.motion-backdrop .orb:nth-child(2){right:clamp(-55px,3vw,80px)}
.nav nav a{position:relative;transition:color .22s,transform .22s}
.nav nav a:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:4px;background:var(--yellow);border-radius:100%;scale:0 1;transform-origin:left;transition:scale .25s}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s,box-shadow .22s,background-color .22s}
.button:after{content:'';position:absolute;inset:-50% auto -50% -70%;width:45%;background:linear-gradient(90deg,transparent,#ffffff75,transparent);transform:skewX(-20deg);pointer-events:none;transition:left .55s}
.button>span,.text-link>span,.card-link>span,.filter-dot,.mini-hearts{transition:transform .25s}
.filter{transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s}
.text-link,.card-link,.card-body h3 button,.footer a,.plain{transition:color .2s,transform .2s}
.hero-art>img,.about-picture{transition:scale .4s,rotate .4s}
.hero-art .hello,.hero-art .art-caption{transition:scale .3s}
summary{border-radius:10px;transition:background-color .2s,color .2s}
summary span{transition:transform .25s}
.color-ball{transition:transform .2s,box-shadow .2s}
.close,.back-top{transition:background-color .2s,color .2s,transform .25s}
/* Pointer effects are reserved for a mouse; keyboard users get the same cues. */
@media(hover:hover) and (pointer:fine){
  .nav nav a:hover{transform:translateY(-2px)}
  .nav nav a:hover:after{scale:1 1}
  .button:hover{transform:translateY(-4px) rotate(-1deg);background-color:#ffe784;box-shadow:0 7px 0 var(--ink)}
  .button:hover:after{left:130%}
  .button:hover>span:last-child{transform:translate(2px,-2px) rotate(-8deg)}
  .filter:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 4px 0 #0c79781c}
  .filter:not(.active):hover{background:#e0f1e6}
  .filter:hover .filter-dot{transform:scale(1.35)}
  .text-link:hover>span,.card-link:hover>span{transform:translate(4px,-3px)}
  .card-link:hover,.card-body h3 button:hover{color:var(--purple)}
  .video-card:hover{border-color:#b39aca;transform:translateY(-8px) rotate(-.6deg)}
  .video-card:hover .play-circle{background:var(--yellow);scale:1.13}
  .hero-art:hover>img{scale:1.025;rotate:1deg}
  .hero-art:hover .hello,.hero-art:hover .art-caption{scale:1.06}
  .about-picture:hover{scale:1.025;rotate:2deg}
  .support-link:hover .mini-hearts{transform:scale(1.25) rotate(-12deg)}
  .color-ball:hover{transform:translateY(-7px) rotate(8deg) scale(1.06);box-shadow:0 8px 0 var(--ink),0 0 0 7px #ffffff65}
  summary:hover{color:var(--purple);background:#ffffff80}
  details:not([open]) summary:hover span{transform:rotate(90deg)}
  .footer a:not(.brand):hover,.plain:hover{color:var(--purple);transform:translateY(-2px)}
  .back-top:hover{background:var(--yellow);transform:translateY(-4px)!important}
  .close:hover{background:var(--yellow);transform:rotate(90deg)}
}
.nav nav a:focus-visible:after{scale:1 1}
.filter:focus-visible{background:var(--mint);color:var(--ink)}
.video-card:focus-within{border-color:var(--purple);box-shadow:0 8px 24px #7548aa22}
summary:focus-visible{background:#ffffff80;color:var(--purple)}
/* Motion-off also disables the new image tilts and decorative sweeps. */
html[data-motion="off"] .hero-art>img,html[data-motion="off"] .about-picture{scale:1;rotate:0deg}
html[data-motion="off"] .button:after{display:none}
@media(prefers-reduced-motion:reduce){.hero-art>img,.about-picture{scale:1!important;rotate:0deg!important}.button:after{display:none}}

/* Always reachable sound control, with room reserved in the header. */
.sound-toggle{position:fixed;top:30px;right:12px;z-index:20;display:grid;place-items:center;width:38px;height:38px;padding:8px;border:1px solid #ccd5c7;border-radius:50%;color:var(--teal);background:var(--cream);box-shadow:0 2px 0 #173c4715;transition:background .2s,transform .2s}
.sound-toggle svg{width:21px;height:21px}.sound-slash{display:none}
.sound-toggle[data-state="muted"] .sound-waves,.sound-toggle[data-state="locked"] .sound-waves{display:none}
.sound-toggle[data-state="muted"] .sound-slash,.sound-toggle[data-state="locked"] .sound-slash{display:block}
.sound-toggle[data-state="muted"],.sound-toggle[data-state="locked"]{color:var(--muted)}
.header .nav{padding-right:44px}
@media(hover:hover) and (pointer:fine){.sound-toggle:hover{background:var(--yellow);transform:translateY(-2px)}}
@media(min-width:761px) and (max-width:1000px){.nav{gap:12px}.nav>.brand{width:110px}.nav nav{font-size:14px;gap:12px}.nav>.button.small{font-size:11px;padding:9px;gap:7px}}
@media(max-width:760px){.header .nav{padding-right:0}.nav>.brand{width:90px}.nav>.button.small{margin-right:36px;font-size:10px;padding:8px;gap:5px}.sound-toggle{top:23px;right:8px;width:30px;height:30px;padding:5px}.sound-toggle svg{width:19px;height:19px}}
@media(max-width:350px){.nav>.brand{width:70px}}
@media(max-width:350px){.nav>.brand{width:60px}.nav>.button.small{font-size:9px;padding:7px 6px;gap:4px}.nav nav{font-size:11px;gap:5px}.nav nav a{white-space:nowrap}}

/* Tablet: balanced columns, larger touch targets, and fewer cramped layouts. */
.subscribe-label-short{display:none}
@media(max-width:1100px){
  .wrap{width:calc(100% - 48px)}
  .hero{gap:24px;min-height:610px;padding-top:35px;padding-bottom:42px}
  .hero h1{font-size:clamp(39px,4.7vw,51px);letter-spacing:-1.5px}
  .hero-art>img{height:460px}
  .hero-actions{gap:16px;margin-top:24px}
  .section{padding-top:64px;padding-bottom:64px}
  .filter{min-height:44px}
  .video-grid{gap:24px}.card-body h3{min-height:0;font-size:24px}
  .card-body{padding:22px}.card-body p{min-height:0}
  .card-link{min-height:48px}.thumbnail .play-circle{width:54px;height:54px}
  .about-grid{gap:40px}.parents-grid{gap:40px}
  .play-section{gap:36px}.color-options{gap:20px}
  .color-ball{width:76px;height:76px}
  .join p br{display:none}.join p{max-width:650px;margin-inline:auto}
  .footer{gap:18px}.footer .plain,.footer .motion-toggle,.footer>a:not(.brand){min-height:40px;display:inline-flex;align-items:center;justify-content:center}
  .footer .imprint-link{justify-content:flex-end!important}
}
@media(min-width:761px) and (max-width:1000px){
  .nav nav{font-size:14px;gap:16px}.nav>.brand{width:130px}
  .nav>.button.small{font-size:12px;min-height:42px;padding:10px 13px}
  .subscribe-label{display:none}.subscribe-label-short{display:inline}
  .hero .eyebrow{font-size:11px}.hero p{font-size:17px}
  .hero-art{min-width:0}.hello{font-size:19px;padding:9px 16px;left:0;top:32px}
  .art-caption{font-size:12px;right:-5px}.spiral{font-size:54px;right:-5px}
  .about-copy h2,.play-intro h2,.parents h2{font-size:37px}
}
@media(min-width:761px) and (max-width:900px){
  .about-grid{grid-template-columns:.9fr 1.1fr;gap:30px}
  .about-copy p,.parents p{font-size:17px}.picture-note{font-size:11px;right:-8px;padding:7px 10px}
  .play-section{grid-template-columns:1fr;gap:24px}.play-intro{max-width:560px}
  .play-intro h2 br,.play-intro p br{display:none}.drawn-arrow{right:0;bottom:0;transform:rotate(60deg);font-size:65px}
  .color-game{max-width:620px;width:100%;justify-self:center;padding:32px}
  .parents-grid{grid-template-columns:1fr;gap:24px}.parents-grid>div:first-child{max-width:650px}
}
/* Phone: a clear header, compact hero, comfortable controls and a tidy footer. */
@media(max-width:760px){
  html{scroll-padding-top:130px}.wrap{width:calc(100% - 36px)}
  .header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:112px;gap:0;padding:4px 0 0}
  .nav>.brand{width:112px}.nav>.brand img{height:66px}
  .nav>.button.small{margin-right:40px;font-size:11px;padding:9px 10px;min-height:40px;gap:6px}
  .subscribe-label{display:none}.subscribe-label-short{display:inline}
  .nav nav{grid-column:1/-1;order:initial;width:100%;gap:10px;font-size:12px;align-items:center}
  .nav nav a{display:flex;align-items:center;justify-content:center;min-height:42px;white-space:nowrap}
  .sound-toggle{top:23px;right:10px;width:36px;height:36px;padding:7px}
  .sound-toggle svg{width:20px;height:20px}
  .hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:16px;padding-top:22px;padding-bottom:34px}
  .hero-copy{max-width:none}.hero .eyebrow{font-size:11px;letter-spacing:0;gap:7px}
  .hero h1{font-size:clamp(36px,9.5vw,43px);line-height:1.13;letter-spacing:-1.3px;margin:18px 0 22px}
  .hero p{font-size:17px;line-height:1.65;margin:0}.hero p br{display:none}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:24px}
  .hero-actions .button{width:100%;min-height:50px;font-size:16px}
  .hero-actions .text-link{justify-content:center;min-height:44px;font-size:14px}
  .hero-note{justify-content:center;font-size:12px;gap:8px;padding:9px 10px;border-radius:12px;background:#eee6f44d;margin-top:10px}
  .hero-note .mini-hearts{font-size:23px;flex-shrink:0}
  .hero-art{height:clamp(300px,86vw,390px);width:100%;max-width:470px;justify-self:center;margin-top:8px}
  .hero-art>img{height:100%;width:100%}.hello{font-size:18px;padding:8px 16px;top:5px!important;left:8px!important}
  .art-caption{bottom:0;right:5px;font-size:11px;padding:8px 12px}.spiral{top:40px;right:0;font-size:45px}
  .section{padding-top:48px;padding-bottom:48px}h2{font-size:33px;line-height:1.18;letter-spacing:-.8px}
  .eyebrow{font-size:10px;letter-spacing:1.3px}.section-heading p{font-size:16px;line-height:1.65}
  .section-heading>.text-link{padding-top:14px;min-height:44px}
  .filter-row{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:22px -4px 22px;padding:5px 4px 9px;scrollbar-width:thin;scrollbar-color:#bccdc1 transparent}
  .filter{flex-shrink:0;min-height:42px;padding:8px 14px;font-size:13px}
  .video-grid{gap:22px}.video-card{border-radius:20px}.card-body{padding:20px}
  .card-body h3{font-size:23px;min-height:0;margin-top:9px}.card-body p{font-size:16px;margin-top:8px;margin-bottom:15px}
  .card-link{font-size:15px;min-height:48px}.video-hint{font-size:11px;line-height:1.5;margin-top:22px;align-items:flex-start}
  .video-hint svg{flex-shrink:0;margin-top:2px}
  .about-grid{gap:32px}.about-picture{width:calc(100% - 16px);max-width:470px;padding-bottom:12px}
  .about-picture img{border-width:5px;border-bottom-width:27px;border-radius:16px;aspect-ratio:1.3}
  .picture-note{right:-7px;bottom:0;font-size:11px;padding:7px 10px}.picture-note span{padding-left:6px}
  .about-copy{padding:0}.about-copy p,.play-intro p,.parents p{font-size:17px;line-height:1.7}
  .play-section{gap:24px}.drawn-arrow{right:12px;font-size:55px;bottom:0}
  .color-game{min-height:0;padding:25px 15px 28px;border-radius:22px}.color-game h3{font-size:30px}
  .color-options{gap:22px;margin:26px 0 22px}.color-ball{width:68px;height:68px}
  .color-ball span{left:16px;top:12px}.color-game p{font-size:15px}.next-color{min-height:44px}
  .parents-grid{gap:20px}.parent-tip{gap:14px;margin-top:22px}.parent-tip>span{font-size:30px}
  details{padding:17px 0}summary{font-size:16px;min-height:44px;align-items:center;gap:14px}summary span{flex-shrink:0}
  .join{padding:48px 8px 50px}.join h2{font-size:38px}.join .eyebrow{font-size:9px;letter-spacing:.7px}
  .join p{font-size:16px}.join .button{width:100%;max-width:370px;min-height:52px;font-size:14px;padding:13px 12px;gap:8px}
  .join-star{left:-8px;top:91px;font-size:28px;opacity:.65}.join-flower{right:-3px;bottom:18px;font-size:34px}
  .footer{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:20px 0}
  .footer .brand{width:105px}.footer .brand img{height:58px}.footer p{margin:0;font-size:12px;text-align:right}
  .footer .plain{margin:0;font-size:12px;justify-content:flex-end}.footer>a:not(.brand){justify-content:flex-start;font-size:13px}
  .footer .motion-toggle{grid-column:1;grid-row:4;width:max-content;font-size:11px;padding:6px 10px;min-height:40px}
  .footer .back-top{grid-column:2;grid-row:4;justify-self:end;justify-content:center!important;width:40px;height:40px;font-size:20px!important}
  .footer .imprint-link{grid-column:1/-1;grid-row:5;margin:0;font-size:11px!important;min-height:30px!important}
  dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);border-radius:16px}.dialog-head{padding:14px;gap:12px}.close{height:42px;width:42px}
  .dialog-head h2{font-size:19px}.consent{padding:26px 18px}.consent p{font-size:16px}.consent .button{width:100%;min-height:48px}
  .dialog-foot{padding:14px 18px;font-size:13px}.privacy-content{padding:16px 20px 24px;font-size:16px}
}
@media(min-width:600px) and (max-width:760px){
  .wrap{width:calc(100% - 56px)}.nav>.brand{width:132px}.nav nav{justify-content:center;gap:42px;font-size:14px}
  .nav>.button.small{font-size:13px;padding:10px 14px}.hero-copy{max-width:570px;margin-inline:auto}
  .hero h1{font-size:48px}.hero-art{height:420px;max-width:520px}.hero-actions{grid-template-columns:1fr 1fr;align-items:center;gap:20px}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card-body{padding:18px}.card-body h3{font-size:22px}.card-body p{font-size:15px}
  .color-game{max-width:520px;width:100%;justify-self:center}.about-copy{max-width:570px;margin-inline:auto}
  .footer{grid-template-columns:1fr 1fr}.join h2{font-size:44px}
}
@media(max-width:350px){
  .wrap{width:calc(100% - 28px)}.nav>.brand{width:88px}.nav>.button.small{font-size:10px;padding:8px;gap:4px;margin-right:36px}
  .nav nav{font-size:11px;gap:6px}.sound-toggle{right:7px;width:32px;height:32px;top:24px}
  .hero h1{font-size:34px}.hero .eyebrow{font-size:10px}.hero-note{font-size:11px}.color-options{gap:16px}.color-ball{width:64px;height:64px}
  .join h2{font-size:34px}.join .button{font-size:12px}
}
@media(max-height:500px) and (orientation:landscape){.header{position:relative}.sound-toggle{position:absolute}html{scroll-padding-top:18px}}

@media(max-width:760px){.nav>.brand{grid-row:1;grid-column:1}.nav>.button.small{grid-row:1;grid-column:2}.nav nav{grid-row:2}}
