﻿:root{--cream:#f8f4e9;--ink:#243b31;--muted:#64736b;--green:#316c4e;--pink:#dc917e;--blue:#dbeaf0;--yellow:#f8d995}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3,.wordmark{font-family:Fredoka,sans-serif}em{font-style:normal;color:var(--pink)}.site-header{height:98px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;max-width:1600px;margin:auto;gap:24px}.wordmark{font-size:29px;font-weight:600;white-space:nowrap;letter-spacing:-1.2px}.wordmark>span:not(.brand-icon){color:var(--pink)}.brand-icon{display:inline-grid;place-items:center;width:37px;height:37px;background:#e5a574;color:#fff;border-radius:50%;font-family:'DM Sans',sans-serif;font-size:27px;vertical-align:middle;margin-right:7px}.site-header nav{display:flex;align-items:center;gap:34px;font-weight:700;font-size:14px}.site-header nav>a:not(.nav-button):hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-button{background:#e9edda;padding:14px 22px;border-radius:100px}.nav-button span,.button span{margin-left:12px}.hero{min-height:690px;display:grid;grid-template-columns:1fr 0.9fr;align-items:center;gap:5%;max-width:1600px;margin:auto;padding:25px max(5vw,24px) 75px}.hero-copy{max-width:675px;padding-bottom:16px}.eyebrow{text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:2.2px;color:var(--green);margin-bottom:22px}.eyebrow span{color:#dfaa57;margin-right:6px}.hero h1{font-size:clamp(64px,6.5vw,108px);line-height:.98;letter-spacing:-4.5px;margin-bottom:32px;font-weight:600}.hero h1 em{display:inline-block}.hero-lede{font-size:19px;line-height:1.65;color:#51665b;max-width:550px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;padding:18px 28px;font-size:15px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#24563d}.text-link{font-size:15px;font-weight:700}.text-link span{margin-left:8px}.hero-note{margin-top:62px;color:#748176;font-size:13px;display:flex;align-items:center;gap:15px}.note-stars{color:#dcad61;letter-spacing:3px}.hero-art{position:relative;justify-self:center;width:min(100%,520px)}.art-frame{height:590px;border-radius:49% 49% 43% 43% / 39% 39% 28% 28%;overflow:hidden;background:#dbe9c4;box-shadow:none}.art-frame img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.art-sun{position:absolute;top:-40px;right:-31px;color:#e9b956;font-size:98px;line-height:1}.art-label{position:absolute;bottom:34px;left:-40px;transform:rotate(-8deg);background:#fff9e6;border:2px solid #f1dbb5;box-shadow:0 10px 25px #3b4f2f29;padding:18px 23px;border-radius:12px;font-family:Fredoka,sans-serif;font-size:23px}.art-label span{color:var(--pink)}.story-ribbon{background:#dce7ce;min-height:66px;display:flex;justify-content:center;align-items:center;gap:45px;overflow:hidden;white-space:nowrap;color:var(--green);font-family:Fredoka,sans-serif;font-size:19px}.story-ribbon b{color:#d58f73;font-size:22px}.section-shell{max-width:1440px;margin:auto;padding:108px max(5vw,24px)}.section-heading{text-align:center;max-width:690px;margin:0 auto 48px}.section-heading h2,.stories h2,.closing h2{font-size:clamp(42px,4.5vw,67px);line-height:1.1;letter-spacing:-2px;margin-bottom:20px;font-weight:600}.section-heading>p:last-child{color:var(--muted);font-size:17px;line-height:1.65}.friend-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.friend-card{min-height:280px;border-radius:29px;padding:44px;display:flex;align-items:flex-start;gap:30px}.waffles-card{background:#f5e6cb}.pip-card{background:#dceaf0}.friend-mark{font-size:74px;line-height:1;color:#d59a63;flex:none}.pip-card .friend-mark{color:#66a4c5}.card-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--green);margin:6px 0 10px}.friend-card h3{font-size:32px;margin-bottom:12px;letter-spacing:-.6px}.friend-card p:last-child{color:#536359;line-height:1.7;margin-bottom:0;max-width:400px}.stories{padding-top:55px;padding-bottom:115px}.stories-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.stories-head h2{max-width:660px;margin-bottom:0}.stories-head>p{max-width:260px;color:var(--muted);line-height:1.6;margin-bottom:5px}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.book-card{background:#fffdf7;border-radius:24px;overflow:hidden;box-shadow:0 15px 32px #40533b0c}.book-image{background:#e8eddb;height:390px;overflow:hidden}.book-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .35s}.book-card:hover img{transform:scale(1.04)}.book-info{padding:25px 28px 30px}.book-info span{font-size:12px;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;color:#a26f55}.book-info h3{font-size:26px;line-height:1.15;margin:10px 0 0}.closing{background:#316c4e;color:#fff;text-align:center;padding:90px 20px;position:relative;overflow:hidden}.closing:before,.closing:after{content:'✿';position:absolute;color:#ffffff12;font-size:270px;top:-100px;left:-55px}.closing:after{top:auto;left:auto;right:-35px;bottom:-140px}.closing-inner{position:relative;z-index:1}.closing-flower{font-size:43px;color:#f0c27e}.closing .eyebrow{color:#c7e4c8;margin-top:18px}.closing h2{margin-bottom:16px}.closing h2 em{color:#f2c59a}.closing-inner>p:not(.eyebrow){color:#dce9de;font-size:17px;margin-bottom:30px}.button-light{background:#fff9ed;color:var(--green)}footer{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:36px max(5vw,24px);color:#66746a;font-size:13px}footer .wordmark{color:var(--ink);font-size:22px}footer .brand-icon{width:28px;height:28px;font-size:21px}footer p{margin:0}a:focus-visible{outline:3px solid #d08d67;outline-offset:4px}@media(max-width:900px){.site-header nav{gap:16px}.hero{grid-template-columns:1fr;gap:45px;padding-top:55px;text-align:center}.hero-copy{max-width:700px;margin:auto}.hero-lede{margin-left:auto;margin-right:auto}.hero-actions,.hero-note{justify-content:center}.hero-note{margin-top:32px}.hero-art{width:min(78%,500px)}.art-frame{height:540px}.friend-card{padding:30px;gap:16px}.friend-mark{font-size:52px}.book-image{height:310px}}@media(max-width:640px){.site-header{height:74px}.wordmark{font-size:23px}.brand-icon{width:30px;height:30px;font-size:22px}.site-header nav>a:not(.nav-button){display:none}.nav-button{padding:11px 14px;font-size:12px}.hero{padding-top:53px;padding-bottom:70px}.hero h1{font-size:clamp(52px,12vw,72px);letter-spacing:-2.5px}.hero-lede{font-size:17px}.hero-actions{gap:22px}.hero-art{width:82%}.art-frame{height:420px;box-shadow:none}.art-sun{font-size:62px;right:-20px;top:-24px}.art-label{left:-25px;bottom:20px;font-size:17px;padding:12px}.story-ribbon{justify-content:flex-start;padding:0 25px;gap:22px;font-size:16px}.section-shell{padding:75px 24px}.friend-grid,.book-grid{grid-template-columns:1fr}.friend-card{min-height:230px}.stories{padding-top:5px}.stories-head{display:block}.stories-head>p{max-width:none}.book-image{height:400px}.closing{padding:70px 24px}footer{flex-direction:column;text-align:center;padding:36px 20px}}@media(max-width:380px){.nav-button{font-size:0}.nav-button span{font-size:16px;margin:0}.hero-art{width:88%}.art-frame{height:350px}.book-image{height:320px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Woodland series sections */
.hero h1{margin-bottom:14px}.hero-amp{color:var(--pink)}.hero-tagline{font-family:Fredoka,sans-serif;font-size:clamp(25px,2.9vw,39px);line-height:1.15;margin-bottom:22px}.hero-tagline em{color:var(--green)}.hero-lede{max-width:575px}.stories{padding-top:90px;padding-bottom:70px}.book-card{display:flex;flex-direction:column}.book-info{display:flex;flex:1;flex-direction:column}.book-info p{font-size:15px;line-height:1.55;color:var(--muted);margin:12px 0 24px}.shop-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;width:max-content;max-width:100%;background:var(--green);color:white;border-radius:99px;padding:13px 19px;font-size:14px;font-weight:700;margin-top:auto}.shop-link:hover{background:#24563d}.shelf-note{text-align:center;color:var(--muted);font-size:14px;margin:28px 0 0}.crew{padding-top:78px}.crew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.crew-grid article{background:#fffdf7;border:1px solid #e9e6d8;border-radius:22px;padding:26px;min-height:205px}.crew-grid article:nth-child(4n+2){background:#e9f1ed}.crew-grid article:nth-child(4n+3){background:#f7e9d7}.crew-grid article>span{display:block;font-size:46px;line-height:1;margin-bottom:15px}.crew-grid .letter-icon{display:grid;place-items:center;width:48px;height:48px;background:#9a705b;border-radius:50%;color:white;font:700 28px Fredoka,sans-serif}.crew-grid h3{font-size:24px;margin-bottom:7px}.crew-grid p{color:#59695e;font-size:14px;line-height:1.5;margin:0}.coloring{background:#e8eee0;max-width:none;display:grid;grid-template-columns:1fr 1.25fr;gap:8%;align-items:center;padding-left:max(5vw,calc((100vw - 1296px)/2));padding-right:max(5vw,calc((100vw - 1296px)/2))}.coloring h2,.app-section h2,.merch h2{font-size:clamp(42px,4.5vw,67px);line-height:1.1;letter-spacing:-2px}.coloring-copy>p:not(.eyebrow),.app-section p:not(.eyebrow),.merch p:not(.eyebrow){color:#53695a;line-height:1.65;font-size:17px;max-width:530px}.coloring .coming-label{display:inline-block!important;background:#fffdf6;color:var(--green)!important;padding:12px 18px;border-radius:100px;font-weight:700;font-size:13px!important;margin-top:10px}.color-previews{display:flex;justify-content:center;align-items:center;gap:20px}.color-previews img{width:46%;aspect-ratio:3/4;object-fit:cover;background:white;padding:8px;box-shadow:0 14px 30px #42564424;border-radius:10px;transform:rotate(-4deg)}.color-previews img+img{transform:rotate(5deg) translateY(22px)}.app-section{display:grid;grid-template-columns:280px 1fr;gap:8%;align-items:center}.app-symbol{height:260px;background:#e6eecf;border-radius:40% 48% 45% 48%;display:grid;place-items:center;font-size:125px;position:relative}.app-symbol span{font-size:55px;color:#d79f62;position:absolute;top:23px;right:24px}.soon-button{display:inline-block;border:2px solid #9bb6a3;color:#526e59;border-radius:99px;padding:14px 21px;font-weight:700;font-size:14px}.merch{display:grid;grid-template-columns:240px 1fr;gap:8%;align-items:center;background:#f4e5d3;border-radius:35px;margin-bottom:100px;padding-top:65px;padding-bottom:65px}.merch-doodle{font-size:180px;color:#ddad72;text-align:center;line-height:1}.merch h2{margin-bottom:12px}.closing-inner>p:not(.eyebrow){max-width:670px;margin:0 auto;color:#e1ede2;line-height:1.7}.closing-inner h2{margin-bottom:20px}footer p{line-height:1.6}
@media(max-width:1100px){.site-header nav{gap:17px}.crew-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.site-header nav>a:not(.nav-button){display:none}.coloring{grid-template-columns:1fr;gap:30px;text-align:center}.coloring-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.color-previews{max-width:590px;margin:auto}.app-section{grid-template-columns:200px 1fr}.app-symbol{height:200px;font-size:90px}.merch{margin-left:24px;margin-right:24px}}
@media(max-width:640px){.hero h1{font-size:clamp(56px,13vw,78px);letter-spacing:-2.5px}.hero-tagline{font-size:27px}.hero-art{width:88%}.stories{padding-top:65px}.crew{padding-top:50px}.crew-grid{grid-template-columns:repeat(2,1fr);gap:10px}.crew-grid article{padding:18px;min-height:185px}.crew-grid article>span{font-size:36px}.crew-grid h3{font-size:21px}.crew-grid p{font-size:13px}.coloring{padding-top:70px;padding-bottom:80px}.color-previews{gap:8px}.app-section{display:block;text-align:center}.app-symbol{width:180px;height:180px;margin:0 auto 32px}.app-section p:not(.eyebrow){margin-left:auto;margin-right:auto}.merch{display:block;text-align:center;padding:35px 24px;margin:0 18px 70px}.merch-doodle{font-size:90px}.merch p:not(.eyebrow){margin-left:auto;margin-right:auto}.closing-inner>p:not(.eyebrow){font-size:16px}}

.halloween-feature{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:38px;margin-top:34px;padding:24px 34px;background:#29364f;color:#fff;border-radius:26px;overflow:hidden}.halloween-cover{width:190px;height:250px;border-radius:12px;overflow:hidden;box-shadow:10px 12px 0 #182640}.halloween-cover img{width:100%;height:100%;object-fit:cover;object-position:center top}.halloween-copy .eyebrow{color:#f5bf78;margin-bottom:12px}.halloween-copy h3{font-size:clamp(29px,3.2vw,47px);line-height:1.1;margin-bottom:12px}.halloween-copy>p:not(.eyebrow){color:#e3dfe2;line-height:1.6;max-width:550px;margin-bottom:20px}.coming-soon-button{background:#f7ba70;color:#28374b;border:0;border-radius:99px;padding:13px 23px;font:700 14px 'DM Sans',sans-serif;cursor:default;opacity:1}.coming-soon-button:disabled{opacity:1}
@media(max-width:640px){.halloween-feature{grid-template-columns:1fr;gap:22px;text-align:center;padding:28px 22px}.halloween-cover{margin:auto;width:180px;height:235px}.halloween-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}}

/* Series badge */
.wordmark{display:inline-flex;align-items:center;gap:10px}.wordmark .brand-badge{width:66px;height:66px;object-fit:cover;flex:none;border-radius:50%;clip-path:circle(49% at 50% 50%)}.wordmark .brand-name{color:var(--ink)}.wordmark .brand-name span{color:var(--pink)}.site-header{height:94px}footer .wordmark .brand-badge{width:52px;height:52px}
@media(max-width:640px){.site-header{height:78px}.site-header .wordmark{gap:6px;font-size:20px;letter-spacing:-.8px}.site-header .wordmark .brand-badge{width:49px;height:49px}footer .wordmark .brand-badge{width:50px;height:50px}}
@media(max-width:390px){.site-header .wordmark{font-size:18px}.site-header .wordmark .brand-badge{width:44px;height:44px}}

/* Small-screen navigation */
.menu-toggle{display:none}
@media(max-width:900px){
  .site-header{position:relative;z-index:20}
  .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;margin-left:auto;border:0;border-radius:12px;background:#e9edda;color:var(--ink);cursor:pointer;flex:none}
  .menu-toggle span{display:block;width:21px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .site-header nav{display:none;position:absolute;top:calc(100% - 5px);left:24px;right:24px;flex-direction:column;align-items:stretch;gap:3px;background:#fffdf7;border:1px solid #e8e6d8;border-radius:20px;padding:12px;box-shadow:0 18px 38px #243b3129}
  .site-header nav.is-open{display:flex}
  .site-header nav>a,.site-header nav>a:not(.nav-button){display:block;padding:14px 16px;border-radius:12px;font-size:16px}
  .site-header nav>a:hover{background:#f1f4e9}
  .site-header nav .nav-button{background:#e9edda;margin-top:3px}
}
@media(max-width:640px){.site-header nav>a,.site-header nav>a:not(.nav-button){font-size:16px}.site-header nav .nav-button{font-size:16px}.site-header nav .nav-button span{font-size:16px;margin-left:8px}}

/* Soft woodland backdrop throughout the page */
body{background-color:var(--cream);background-image:linear-gradient(rgba(248,244,233,.66),rgba(248,244,233,.66)),url('assets/woodland-background.webp');background-position:center top;background-size:cover;background-attachment:fixed}
body.landing-page{background-image:none}
.story-ribbon{background:rgba(220,231,206,.88)}
.story-ribbon .ribbon-waffles{display:inline-flex;width:32px;height:32px;flex:none;align-items:center;justify-content:center}
.story-ribbon .ribbon-waffles img{width:100%;height:100%;object-fit:contain}
.story-ribbon button.ribbon-waffles{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.story-ribbon button.ribbon-waffles:focus-visible{outline:3px solid #c6815e;outline-offset:4px}
@media(max-width:640px){.story-ribbon .ribbon-waffles{width:28px;height:28px}}
.coloring{background:rgba(232,238,224,.9)}
.merch{background:rgba(244,229,211,.92)}
.closing{background:rgba(49,108,78,.94)}
@media(max-width:900px){body{background-attachment:scroll;background-size:auto 100vh;background-repeat:repeat-y}}

.art-frame{box-shadow:none}

.hero .hero-credit{font-size:12px;letter-spacing:.7px;text-transform:none;margin:0 0 20px;color:#526f5c}.hero h1{margin-bottom:8px}
@media(max-width:640px){.hero .hero-credit{font-size:11px;letter-spacing:.3px}}

.crew-grid article{padding:16px 16px 22px}.crew-grid article>img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:15px;margin-bottom:18px}.crew-grid article h3,.crew-grid article p{padding-left:6px;padding-right:6px}
@media(max-width:640px){.crew-grid article{padding:9px 9px 18px}.crew-grid article>img{border-radius:12px;margin-bottom:12px}.crew-grid article h3,.crew-grid article p{padding-left:5px;padding-right:5px}}
@media(min-width:1101px){.crew-grid{grid-template-columns:repeat(3,1fr)}}

.book-image{height:auto;aspect-ratio:2/3}.book-image img{object-fit:contain;object-position:center;width:100%;height:100%}

.color-previews .color-preview{position:relative;width:46%;aspect-ratio:3/4;background:#fff;border-radius:10px;box-shadow:0 14px 30px #42564424;overflow:hidden;transform:rotate(-4deg)}
.color-previews .color-preview:nth-child(2){transform:rotate(5deg) translateY(22px)}
.color-previews .color-preview img{display:block;width:100%;height:100%;padding:8px;object-fit:cover;box-shadow:none;transform:none;border-radius:10px}
.preview-watermark{position:absolute;left:50%;top:50%;width:165%;padding:13px 12px;transform:translate(-50%,-50%) rotate(-24deg);background:rgba(255,253,246,.8);color:rgba(38,73,53,.8);font:700 clamp(12px,1.5vw,18px)/1.4 'DM Sans',sans-serif;text-align:center;pointer-events:none;letter-spacing:.2px}
@media(max-width:640px){.preview-watermark{font-size:11px;padding:8px 6px}}
@media print{.preview-watermark{background:#fff;color:#333}}

.app-section{grid-template-columns:minmax(320px,1fr) 1fr;gap:7%}.app-art{position:relative;max-width:520px;aspect-ratio:1;overflow:hidden;border-radius:28px;box-shadow:0 16px 30px #344a3a1b}.app-art::after{content:"";position:absolute;inset:0 0 50%;background:linear-gradient(rgba(255,252,236,.92),rgba(255,252,236,0));pointer-events:none}.app-art img{width:100%;height:100%;object-fit:cover}.app-art h2{position:absolute;z-index:1;top:23px;left:18px;right:18px;margin:0;text-align:center;color:var(--green);font-size:clamp(35px,3.3vw,53px);line-height:1;letter-spacing:-1.5px;text-shadow:0 2px 4px #fffdf9}.app-art h2 em{color:#b5774f}.app-copy p:not(.eyebrow){max-width:520px}
@media(max-width:900px){.app-section{grid-template-columns:minmax(240px,1fr) 1fr;gap:5%}.app-art h2{font-size:clamp(30px,4vw,44px)}}
@media(max-width:640px){.app-section{display:block}.app-art{max-width:440px;margin:0 auto 30px}.app-art h2{font-size:clamp(32px,8vw,48px)}.app-copy p:not(.eyebrow){margin-left:auto;margin-right:auto}}



.app-art{max-width:440px}.app-art::after{display:none}.app-art h2{top:50%;left:50%;right:auto;width:108%;transform:translate(-50%,-50%) rotate(-13deg);color:#171717;font-size:clamp(37px,4vw,56px);line-height:1.03;text-shadow:0 2px 2px rgba(255,255,255,.85),0 -2px 2px rgba(255,255,255,.85)}.app-art h2 em{color:inherit}@media(max-width:640px){.app-art h2{font-size:clamp(34px,9vw,49px)}}

.app-art{width:100%;max-width:350px;aspect-ratio:1/2;margin-inline:auto}.app-art img{object-position:center}.app-art h2{font-size:clamp(34px,3.4vw,48px)}@media(max-width:640px){.app-art{max-width:330px}.app-art h2{font-size:clamp(32px,8.5vw,45px)}}

.coloring-button,.coloring-submit,.coloring-download{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:99px;background:var(--green);color:#fff;padding:14px 22px;font:700 15px 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}.coloring-button:hover,.coloring-submit:hover,.coloring-download:hover{background:#24563d}.coloring-button:focus-visible,.coloring-submit:focus-visible,.coloring-download:focus-visible,.coloring-signup input:focus-visible{outline:3px solid #c6815e;outline-offset:3px}.coloring-signup[hidden],.coloring-unlocked[hidden],#coloring-form[hidden]{display:none}.coloring-signup{max-width:540px;margin-top:22px;padding:22px;border:1px solid #d9e4d3;border-radius:22px;background:rgba(255,253,246,.96);box-shadow:0 12px 30px #344a3a18;text-align:left}.coloring-signup label[for="coloring-email"]{display:block;margin-bottom:9px;color:var(--green);font-weight:700}.coloring-signup input[type="email"]{display:block;width:100%;border:1px solid #9bb6a3;border-radius:99px;padding:13px 17px;background:#fff;color:#253e30;font:inherit}.coloring-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0 8px;line-height:1.45;color:#334e3a;font-size:14px;cursor:pointer}.coloring-consent input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--green)}.coloring-consent strong{font-weight:700}.coloring-privacy,.coloring-status{font-size:13px!important;line-height:1.5!important;margin:8px 0 14px!important}.coloring-privacy a,.privacy-content a{color:#24563d;text-decoration:underline;text-underline-offset:2px}.coloring-submit:disabled{opacity:.65;cursor:wait}.coloring-unlocked p{margin:0 0 15px;color:#334e3a;line-height:1.5}.coloring-download{width:100%;max-width:360px;text-align:center}.coloring .preview-watermark{font-size:clamp(13px,1.5vw,18px)}footer p a{color:inherit;text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.coloring-signup{margin-left:auto;margin-right:auto}.coloring-button{max-width:100%}}

.privacy-page{min-height:100vh}.privacy-content{max-width:780px;margin:clamp(40px,8vw,100px) auto;padding:clamp(28px,5vw,56px);border-radius:30px;background:rgba(255,253,246,.96);box-shadow:0 18px 45px #344a3a22}.privacy-back{display:inline-block;margin-bottom:40px;color:var(--green);font-weight:700}.privacy-content h1{font-family:Fredoka,sans-serif;font-size:clamp(42px,6vw,64px);line-height:1.05;color:var(--green);margin:0 0 24px}.privacy-content p:not(.eyebrow){color:#465d4c;font-size:17px;line-height:1.7;margin:0 0 20px}@media(max-width:800px){.privacy-content{margin:18px;padding:28px 22px}}

/* Keep the welcome song controls available while browsing. */
.music-toggle{position:fixed;right:16px;bottom:16px;z-index:50;border:1px solid #dce6d5;border-radius:99px;padding:12px 18px;background:#fffdf7;color:#24563d;box-shadow:0 4px 18px #243b3129;font:700 14px 'DM Sans',sans-serif;cursor:pointer;min-height:44px}
.music-toggle[hidden]{display:none}
.music-toggle:focus-visible{outline:3px solid #c6815e;outline-offset:3px}
.music-toggle:disabled{cursor:default;opacity:.7}
@media print{.music-toggle{display:none}}

button.art-label{border:0;color:var(--ink);font-family:Fredoka,sans-serif;cursor:pointer}.song-controls{position:absolute;bottom:-48px;left:0;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:24px;background:#fffdf7;box-shadow:0 4px 18px #243b3129;z-index:2}.song-controls[hidden]{display:none}.song-controls .music-toggle{position:static;box-shadow:none;padding:8px;font-size:12px;min-height:40px}.song-controls>button:first-child{width:40px;height:40px;border:0;border-radius:50%;background:#e9edda;font-size:20px;cursor:pointer}.song-controls input{width:70px;accent-color:var(--green)}.song-controls output{font-size:12px;min-width:30px}

.song-controls{gap:5px;padding:4px 7px;border-radius:20px;background:rgba(255,253,247,.48);box-shadow:0 2px 10px #243b3110}.song-controls .music-toggle{padding:5px 7px;font-size:11px;min-height:30px;background:rgba(255,253,247,.35);border-color:rgba(49,108,78,.15)}.song-controls>button:first-child{width:30px;height:30px;background:rgba(233,237,218,.5);font-size:16px}.song-controls input{width:56px}.song-controls output{font-size:10px;min-width:25px}

.coloring-book-image{background:#fffdf7}.coloring-book-image img{-webkit-mask-image:radial-gradient(ellipse 94% 96% at center,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 94% 96% at center,#000 72%,transparent 100%)}

/* Storyteller surprise */
.story-egg-trigger{display:inline-block;width:86px;height:86px;padding:0;border:0;background:transparent;cursor:pointer}
.story-egg-trigger:focus-visible,.memory-game button:focus-visible{outline:3px solid #e7a873;outline-offset:4px}
.story-egg-trigger img{width:100%;height:100%;object-fit:contain}
.memory-game{inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#fff5d9;color:var(--ink);overflow-y:auto;text-align:center}
.memory-game.is-opening{animation:memory-spin-in .85s cubic-bezier(.2,.75,.2,1) both;pointer-events:none}
@keyframes memory-spin-in{from{transform:rotate(-360deg) scale(.05);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}
.memory-game::backdrop{background:#132e25aa}
.memory-game-splash,.memory-game-play{min-height:100%;padding:clamp(24px,4vh,44px) 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.memory-game-splash{background:radial-gradient(circle at 50% 45%,#fff9e7 0,#ffeabc 68%,#f5ce91 100%);cursor:pointer}
.memory-game.is-launching{overflow:hidden;background:#0b1935;background-image:radial-gradient(circle at 18% 24%,#fff 0 2px,transparent 3px),radial-gradient(circle at 75% 16%,#f5d48a 0 2px,transparent 3px),radial-gradient(circle at 88% 72%,#fff 0 2px,transparent 3px),radial-gradient(circle at 28% 80%,#fff 0 1px,transparent 2px)}
.memory-game.is-launching .memory-game-splash{animation:memory-launch .9s ease-in forwards}
@keyframes memory-launch{0%{transform:rotate(0) scale(1);opacity:1}70%{opacity:1}100%{transform:rotate(720deg) scale(0);opacity:0}}
.memory-game-splash[hidden],.memory-game-play[hidden],.memory-game-start[hidden]{display:none}
.memory-game-waffles{width:clamp(115px,17vh,190px);height:clamp(115px,17vh,190px);object-fit:contain;filter:drop-shadow(0 7px 7px #6b704844)}
.memory-game-splash .eyebrow{margin:6px 0 15px}
.memory-game-splash h2{font:700 clamp(56px,min(15vw,17vh),180px)/.77 Fredoka,sans-serif;text-transform:uppercase;letter-spacing:-.055em;color:var(--green);margin:0}
.memory-game-splash h2 span{display:block}
.memory-game-splash h2 span:last-child{color:#d06d56}
.memory-game-splash>p:not(.eyebrow){font:600 clamp(17px,2.5vw,24px) Fredoka,sans-serif;margin:24px 0 18px}
.memory-game-close{position:fixed;z-index:2;top:clamp(14px,3vw,30px);right:clamp(14px,3vw,30px);width:48px;height:48px;border:0;border-radius:50%;background:#fffdf3;color:var(--green);box-shadow:0 4px 14px #243b3122;font-size:30px;line-height:1;cursor:pointer}
.memory-game-start{min-height:50px;padding:13px 28px;border:0;border-radius:99px;background:var(--green);color:#fff;font:700 16px 'DM Sans',sans-serif;cursor:pointer}
.memory-game-start:hover{background:#24563d}
.memory-game-play{max-width:760px;margin:auto}
.memory-game-play .eyebrow{margin:0 0 10px}
.memory-game-play h2{font-size:clamp(35px,5vw,56px);margin:0 0 10px;color:var(--green)}
.memory-game-instructions{max-width:480px;margin:0;line-height:1.45}
.memory-game-round{font:700 22px Fredoka,sans-serif;color:#a15f48;margin:20px 0 6px}
.memory-game-status{min-height:48px;margin:0 0 16px;font-weight:700;line-height:1.45;color:#435d4a}
.memory-game-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}
.memory-card{min-width:0;padding:8px;border:3px solid #d8e5d1;border-radius:18px;background:#fffdf6;color:var(--ink);font:700 17px Fredoka,sans-serif;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.memory-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:11px;margin-bottom:7px}
.memory-card.is-lit{transform:scale(1.06);background:#ffe7a8;border-color:#df9e47;box-shadow:0 0 0 4px #f7ce7b66}
.memory-card:disabled{cursor:default;opacity:1}
.memory-card:not(:disabled):hover{border-color:var(--green)}
@media(max-width:540px){.memory-game-grid{max-width:380px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.memory-card img{max-height:115px}.memory-card{font-size:15px}.memory-game-splash .eyebrow{font-size:11px;letter-spacing:1.6px}.memory-game-status{min-height:0}}
@media(prefers-reduced-motion:reduce){.memory-card.is-lit{transform:none}.memory-game.is-opening{animation:none}.memory-game.is-launching .memory-game-splash{animation:none}}

/* Matching game unlocked after the memory sequence */
.match-game{min-height:100%;max-width:850px;margin:auto;padding:clamp(70px,10vh,100px) 20px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.match-game[hidden]{display:none}
.match-game .eyebrow{margin:0 0 8px}
.match-game h2{font-size:clamp(36px,5vw,58px);line-height:1.05;color:var(--green);margin:0 0 10px}
.match-game-instructions{max-width:520px;line-height:1.45;margin:0}
.match-game-level{font:700 21px Fredoka,sans-serif;color:#a15f48;margin:18px 0 5px}
.match-game-status{min-height:28px;margin:0 0 16px;font-weight:700;color:#435d4a}
.match-game-grid{width:min(100%,var(--match-max-width,760px));display:grid;grid-template-columns:repeat(var(--match-columns,4),minmax(0,1fr));gap:10px;margin:0 0 20px}
.match-card{position:relative;aspect-ratio:1;min-width:0;padding:0;border:0;background:transparent;perspective:800px;cursor:pointer}
.match-card-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .45s}
.match-card.is-flipped .match-card-inner{transform:rotateY(180deg)}
.match-card-back,.match-card-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border:3px solid #d3e1c9;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.match-card-back{background:#dce8ce;color:var(--green);font:700 clamp(35px,6vw,70px) Fredoka,sans-serif}
.match-card-front{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px;transform:rotateY(180deg);background:#fffdf6;color:var(--ink);padding:6px}
.match-card-front img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;border-radius:10px}
.match-card-name{display:block;font:700 clamp(11px,1.5vw,16px)/1.1 Fredoka,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.match-card.is-matched .match-card-front{border-color:#5a9c69;background:#ebf5df}
.match-card:disabled{cursor:default;opacity:1}
.match-card:not(:disabled):hover .match-card-back{border-color:var(--green)}
@media(max-width:540px){.match-game{padding:75px 12px 24px}.match-game h2{font-size:34px}.match-game-instructions{font-size:14px}.match-game-level{margin-top:12px}.match-game-grid{width:min(100%,var(--match-mobile-max-width,594px));grid-template-columns:repeat(var(--match-mobile-columns,4),minmax(0,1fr));gap:6px}.match-card-back,.match-card-front{border-width:2px;border-radius:10px}.match-card-front{padding:3px;gap:2px}.match-card-front img{border-radius:6px}.match-card-name{font-size:10px}}
@media(prefers-reduced-motion:reduce){.match-card-inner{transition:none}}

.match-level-reveal{min-height:100%;padding:90px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#fff9e6 0,#ffe5b0 70%,#f4c986 100%);animation:memory-spin-in .85s cubic-bezier(.2,.75,.2,1) both}
.memory-game.is-between-levels{overflow:hidden}
.match-level-reveal[hidden]{display:none}
.match-level-reveal .eyebrow{margin:0 0 18px}
.match-level-reveal h2{font:700 clamp(64px,14vw,160px)/.9 Fredoka,sans-serif;text-transform:uppercase;letter-spacing:-.05em;color:var(--green);margin:0 0 20px}
.match-level-reveal #match-level-reveal-next{font:700 clamp(28px,6vw,62px) Fredoka,sans-serif;color:#c46c50;margin:0}
.match-next-button{margin-top:28px}
.memory-next-button{margin:14px 8px 0}
@media(max-height:500px){.match-level-reveal{padding:56px 16px 24px}.match-level-reveal .eyebrow{margin-bottom:8px}.match-level-reveal h2{font-size:clamp(36px,12vh,60px);margin-bottom:10px}.match-level-reveal #match-level-reveal-next{font-size:clamp(22px,7vh,32px)}.match-next-button{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.match-level-reveal{animation:none}}

/* Curiosity ribbon jigsaw */
.puzzle-game{min-height:100%;padding:72px 18px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.puzzle-game[hidden],.puzzle-next-reveal[hidden]{display:none}
.puzzle-game .eyebrow{margin:0 0 8px}
.puzzle-game h2{font-size:clamp(34px,5vw,55px);line-height:1.06;color:var(--green);margin:0 0 8px}
.puzzle-level{font:700 21px Fredoka,sans-serif;color:#a15f48;margin:0 0 8px}
.puzzle-instructions{max-width:560px;line-height:1.45;margin:0 0 15px}
.puzzle-layout{width:min(100%,850px);display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start;justify-content:center;gap:18px}
.puzzle-reference{padding:8px;border-radius:17px;background:#fffdf6;box-shadow:0 4px 14px #243b3119;font:700 14px Fredoka,sans-serif;color:var(--green)}
.puzzle-reference img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;margin-bottom:6px}
.puzzle-board-scroller{width:100%;max-width:650px;max-height:min(60vh,650px);overflow:auto;border:3px solid #86a78c;border-radius:17px;background:#e7efdb;touch-action:pan-x pan-y}
.puzzle-board{position:relative;flex:none}
.puzzle-board canvas,.puzzle-slots{position:absolute;inset:0;width:100%;height:100%}
.puzzle-slot{position:absolute;padding:0;border:0;background:transparent;cursor:pointer;touch-action:pan-x pan-y}
.puzzle-slot:disabled{cursor:default;pointer-events:none}
.puzzle-slot:focus-visible,.puzzle-piece:focus-visible{outline:3px solid #c6815e;outline-offset:2px;z-index:2}
.puzzle-status{min-height:25px;margin:16px 0 12px;font-weight:700;color:#435d4a}
.puzzle-tray{width:min(100%,760px);min-height:80px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.puzzle-piece{min-width:0;aspect-ratio:1;padding:3px;border:2px solid #bed2b5;border-radius:12px;background:#fffdf6;cursor:grab;touch-action:none}
.puzzle-piece.is-selected{border-color:#c2764e;background:#ffedce;box-shadow:0 0 0 3px #f2bf8780}
.puzzle-piece canvas{display:block;width:100%;height:100%}
.puzzle-piece.is-lifted canvas{opacity:.18}
.puzzle-piece.is-lifted{cursor:grabbing}
.puzzle-drag-ghost{position:fixed;z-index:200;width:92px;height:92px;border:2px solid #c2764e;border-radius:12px;background:#fffdf6;box-shadow:0 10px 22px #243b3155;pointer-events:none}
.puzzle-drag-ghost canvas{width:100%;height:100%}
.puzzle-next-reveal{min-height:100%;padding:90px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#fff9e6 0,#ffe5b0 70%,#f4c986 100%);animation:memory-spin-in .85s cubic-bezier(.2,.75,.2,1) both}
.puzzle-next-reveal .eyebrow{margin:0 0 18px}
.puzzle-next-reveal h2{font:700 clamp(64px,14vw,160px)/.9 Fredoka,sans-serif;text-transform:uppercase;letter-spacing:-.05em;color:var(--green);margin:0 0 20px}
.puzzle-next-reveal #puzzle-next-count{font:700 clamp(28px,6vw,62px) Fredoka,sans-serif;color:#c46c50;margin:0}
.puzzle-next-button{margin-top:28px}
@media(max-height:500px){.puzzle-next-reveal{padding:56px 16px 24px}.puzzle-next-reveal .eyebrow{margin-bottom:8px}.puzzle-next-reveal h2{font-size:clamp(36px,12vh,60px);margin-bottom:10px}.puzzle-next-reveal #puzzle-next-count{font-size:clamp(22px,7vh,32px)}.puzzle-next-button{margin-top:16px}}
@media(max-width:700px){.puzzle-game{padding:72px 12px 25px}.puzzle-layout{grid-template-columns:1fr;gap:10px}.puzzle-reference{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:auto;font-size:12px}.puzzle-reference img{width:72px;margin:0}.puzzle-board-scroller{margin:auto;max-height:min(49vh,440px)}.puzzle-tray{max-width:380px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.puzzle-instructions{font-size:14px;margin-bottom:10px}.puzzle-status{font-size:14px}}
@media(prefers-reduced-motion:reduce){.puzzle-next-reveal{animation:none}}

.book-info .coming-soon-label{align-self:flex-start;margin-top:auto;display:inline-block;padding:12px 20px;border-radius:99px;background:#f7ba70;color:#28374b;font-size:14px;letter-spacing:0;text-transform:none;font-weight:700}
.tester-steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:16px;text-align:left}.tester-steps li{padding:22px;background:rgba(255,253,246,.94);border:1px solid #dce6d5;border-radius:22px}.tester-steps h3{font-size:24px;margin:0 0 10px}.app-copy .tester-steps p{font-size:15px;margin-bottom:18px}.app-copy .tester-note{font-size:13px;line-height:1.5}.tester-steps .shop-link{white-space:normal}

/* Image-led woodland collections */
.merch.merch-collections{display:block;max-width:1100px;margin:20px auto 65px;padding:20px 28px 32px;background:none;border:0;border-radius:0;box-shadow:none;text-align:left}
.collection-intro{position:relative;padding-right:160px;margin-bottom:25px}
.collection-intro .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:10px}
.merch .collection-intro h2{font:600 clamp(28px,3.4vw,42px)/1.15 'DM Sans',sans-serif;letter-spacing:-1.7px;margin-bottom:10px}.collection-intro h2 br{display:none}.collection-intro h2 br:after{content:' '}.collection-intro h2 em{color:#586f4e;margin-left:8px}
.merch .collection-intro>p:not(.eyebrow){font-size:14px;line-height:1.5;max-width:none;margin:0}
.collection-all{position:absolute;right:0;bottom:8px;display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid #37533e;padding:10px 0;font:600 14px 'DM Sans',sans-serif;color:#294d3b}.collection-all:hover{color:#8b583c}.collection-signoff{display:none}
.collection-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 22px;padding:12px 6px}
.collection-tile{display:block;flex:0 0 calc((100% - 88px)/5);min-width:0;color:#294333;text-align:left;background:transparent;border-radius:10px;transition:background .2s}
.collection-photo{display:block;aspect-ratio:1.12;overflow:hidden;border-radius:9px;background:transparent;box-shadow:none}
.collection-photo img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;mix-blend-mode:multiply}
.collection-name{display:flex;justify-content:space-between;gap:5px;margin-top:13px;padding:0 3px;font:600 14px/1.3 'DM Sans',sans-serif}.collection-name>span{font-weight:400;color:#6c7d62}
.collection-tile:hover,.collection-tile:focus-visible{background:#fffdf1}.collection-tile:focus-visible{outline:2px solid #37533e;outline-offset:5px}
@media(max-width:760px){.merch.merch-collections{margin:12px 14px 55px;padding:15px 12px 30px}.collection-grid{gap:23px 18px}.collection-tile{flex-basis:calc((100% - 36px)/3)}.collection-intro{padding-right:110px}.merch .collection-intro h2{font-size:30px;letter-spacing:-1px}.collection-intro h2 br{display:block}.collection-intro h2 em{margin-left:0}.collection-all{gap:13px}.collection-name{font-size:13px}}
@media(max-width:400px){.collection-intro{padding-right:0}.collection-all{position:static;margin-top:9px;padding:7px 0}.collection-grid{gap:22px 14px}.collection-tile{flex-basis:calc((100% - 28px)/3)}.collection-name{font-size:12px;margin-top:10px}.collection-photo{border-radius:6px}.merch .collection-intro>p:not(.eyebrow){font-size:13px}}
