/* ==========================================================
   Kinder Storybook – realistic page-curl flip-book (Elementor)
   Theme: school navy + sunshine yellow
   ========================================================== */
.ksb,.ksb-ov{
  --ksb-navy:#0B3A6B; --ksb-navy-dark:#082A4E; --ksb-heading:#0F1B3D;
  --ksb-yellow:#FCC52C; --ksb-yellow-dark:#E0A700;
  --ksb-ink:#1F2937; --ksb-muted:#4B5563; --ksb-paper:#FFFDF6; --ksb-bg:#FFFFFF; --ksb-ov-bg:#EDF3FA;
  --ksb-fs-scale:1; --ksb-thumb:340px;
  color:var(--ksb-ink); box-sizing:border-box; -webkit-tap-highlight-color:transparent;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
.ksb *,.ksb *::before,.ksb *::after,.ksb-ov *,.ksb-ov *::before,.ksb-ov *::after{box-sizing:border-box}
.ksb button,.ksb-ov button{font:inherit;border:0;margin:0;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;line-height:1;min-height:0}
.ksb button:focus-visible,.ksb-ov button:focus-visible{outline:3px solid var(--ksb-yellow);outline-offset:3px}

/* ---------- Launcher: the book shown inside your page ---------- */
.ksb{position:relative;width:100%;padding:24px 16px 40px;text-align:var(--ksb-align,center)}
.ksb-launch-inner{display:inline-flex;flex-direction:column;align-items:center}
.ksb .ksb-trigger{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:34px;padding:0 !important;
  background:transparent !important;color:inherit !important;border-radius:0}
.ksb-mini{position:relative;width:var(--ksb-thumb);max-width:72vw;aspect-ratio:560/740;perspective:1600px}
.ksb-mini::after{content:"";position:absolute;left:4%;right:-6%;bottom:-22px;height:34px;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(8,42,78,.38),transparent);filter:blur(5px);transition:transform .6s}
.ksb-mini-body{position:absolute;inset:0;transform-style:preserve-3d;transform:none;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ksb-mini-pages{position:absolute;inset:1.5% -3% 1.5% 2%;border-radius:0 8px 8px 0;
  background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 12%),repeating-linear-gradient(180deg,#FFFDF6 0 3px,#EDE5CF 3px 4px);
  box-shadow:inset -2px 0 0 #E2D8BC}
.ksb-mini-pages::before{content:"";position:absolute;inset:6% 10% 6% 8%;background:repeating-linear-gradient(180deg,transparent 0 16px,rgba(11,58,107,.12) 16px 17px)}
.ksb-mini-cover{position:absolute;inset:0;overflow:hidden;border-radius:4px 10px 10px 4px;container-type:inline-size;
  transform-origin:0 50%;transition:transform .7s cubic-bezier(.2,.8,.2,1);box-shadow:0 18px 36px rgba(8,42,78,.35)}
.ksb-mini-cover>img.ksb-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ksb-mini-cover .ksb-cover{box-shadow:inset 3.2cqw 0 2cqw -2cqw rgba(0,0,0,.45),inset 4.5cqw 0 0 -3.8cqw rgba(255,255,255,.18)}
.ksb .ksb-trigger:hover .ksb-mini-body,.ksb .ksb-trigger:focus-visible .ksb-mini-body{transform:translateY(-10px) scale(1.03)}
.ksb .ksb-trigger:hover .ksb-mini::after{transform:scale(.92)}
.ksb-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:8px;background:var(--ksb-yellow);color:#16213E;
  font-weight:600;font-size:17px;line-height:1.2;box-shadow:0 5px 0 var(--ksb-yellow-dark);transition:transform .2s}
.ksb-cta .ksb-tri{width:18px;height:18px}.ksb-cta .ksb-tri path{fill:var(--ksb-navy);stroke:var(--ksb-navy)}
.ksb .ksb-trigger:hover .ksb-cta{transform:translateY(-3px)}
.ksb-spark{position:absolute;z-index:2;width:26px;height:26px;background:var(--ksb-yellow);pointer-events:none;animation:ksb-twinkle 2.6s ease-in-out infinite;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}

/* ---------- Overlay (opens above your page) ---------- */
.ksb-ov{position:fixed;inset:0;z-index:999999;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:58px 16px 14px;overflow:hidden;isolation:isolate;background:var(--ksb-ov-bg);
  opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.ksb-ov.is-open{opacity:1;visibility:visible;transition:opacity .4s ease}
.ksb-ov:not(.is-open),.ksb-ov:not(.is-open) *{pointer-events:none !important}
.ksb-ov .ksb-stage{width:100%;transform:scale(.92) translateY(20px);transition:transform .55s cubic-bezier(.2,.9,.25,1.1)}
.ksb-ov.is-open .ksb-stage{transform:none}
.ksb-ov .ksb-close{position:absolute;z-index:20;top:14px;right:16px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:var(--ksb-navy) !important;color:var(--ksb-yellow) !important;padding:0 !important;box-shadow:0 6px 16px rgba(8,42,78,.3);transition:transform .2s}
.ksb-ov .ksb-close:hover{transform:rotate(90deg) scale(1.06)}
.ksb-close svg{width:22px;height:22px}
.ksb-ov .ksb-ov-title{position:absolute;top:22px;left:24px;right:80px;margin:0;font-family:'Bitter',Georgia,serif;font-weight:600;font-size:20px;
  color:var(--ksb-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
html.ksb-lock,html.ksb-lock body{overflow:hidden !important}

/* ---------- Heading (matches site sections) ---------- */
.ksb-head{position:relative;z-index:2;max-width:980px;margin:0 auto 40px;text-align:center}
.ksb-heading{margin:0 0 14px;font-family:'Bitter',Georgia,serif;font-weight:600;line-height:1.12;color:var(--ksb-heading);font-size:clamp(30px,4.2vw,52px)}
.ksb-sub{margin:0;font-size:clamp(15px,1.3vw,17px);line-height:1.6;color:var(--ksb-muted)}

/* ---------- Playful doodles in theme colours ---------- */
.ksb-decor{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  background:radial-gradient(rgba(11,58,107,.07) 1.5px,transparent 1.6px) 0 0/26px 26px}
.ksb-ov.no-scene .ksb-decor{display:none}
.ksb-blob{position:absolute;left:50%;top:58%;width:min(1100px,110vw);height:62%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(closest-side,rgba(252,197,44,.28),rgba(252,197,44,.08) 60%,transparent)}
.ksb-doodle{position:absolute;font-family:'Bitter',Georgia,serif;font-weight:700;font-size:64px;line-height:1;color:transparent;
  -webkit-text-stroke:2px rgba(11,58,107,.22);animation:ksb-float 7s ease-in-out infinite}
.ksb-doodle.y{-webkit-text-stroke-color:rgba(224,167,0,.55)}
.ksb-star{position:absolute;width:30px;height:30px;background:var(--ksb-yellow);animation:ksb-twinkle 3s ease-in-out infinite;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.ksb-star.n{background:rgba(11,58,107,.25)}
.ksb-cloud{position:absolute;width:120px;height:38px;border-radius:40px;background:#FFFFFF;animation:ksb-drift 14s ease-in-out infinite alternate}
.ksb-cloud::before,.ksb-cloud::after{content:"";position:absolute;border-radius:50%;background:#FFFFFF}
.ksb-cloud::before{width:54px;height:54px;top:-26px;left:18px}
.ksb-cloud::after{width:40px;height:40px;top:-18px;left:62px}
.ksb-pencil{position:absolute;width:150px;height:22px;border-radius:4px;transform:rotate(-24deg);
  background:linear-gradient(90deg,#F9A8B8 0 12%,#C9CED6 12% 18%,var(--ksb-yellow) 18% 86%,transparent 86%);animation:ksb-float 8s ease-in-out infinite}
.ksb-pencil::after{content:"";position:absolute;right:0;top:0;border-left:22px solid #F5D7A1;border-top:11px solid transparent;border-bottom:11px solid transparent}

/* ---------- Book stage ---------- */
.ksb-stage{position:relative;z-index:2;max-width:1320px;margin:0 auto}
.ksb-shift{position:relative;transition:transform .9s cubic-bezier(.6,.05,.3,1)}
.ksb-shift::after{content:"";position:absolute;left:6%;right:6%;bottom:-26px;height:40px;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(8,42,78,.35),transparent);filter:blur(6px);transition:left .9s,right .9s}
.ksb-shift.is-front::after{left:52%;right:4%}
.ksb-shift.is-back::after{left:4%;right:52%}
.ksb-flip{margin:0 auto;opacity:0}
.ksb-flip.is-ready{opacity:1}

/* ---------- Every page ---------- */
.ksb-page{background:var(--ksb-paper);overflow:hidden;container-type:inline-size}
.ksb-ov .ksb-shift{filter:drop-shadow(0 14px 22px rgba(8,42,78,.18))}
.ksb-pin{position:absolute;inset:0;overflow:hidden;
  background:var(--ksb-paper) linear-gradient(180deg,rgba(255,255,255,.6),rgba(240,232,210,.35))}
.ksb-pin::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:6}
.ksb-page[data-side=right] .ksb-pin::before{background:linear-gradient(90deg,rgba(8,42,78,.2),rgba(8,42,78,.05) 4%,transparent 9%)}
.ksb-page[data-side=left] .ksb-pin::before{background:linear-gradient(270deg,rgba(8,42,78,.2),rgba(8,42,78,.05) 4%,transparent 9%)}
.ksb-page.is-cover .ksb-pin::before{background:none}

/* content pages */
.ksb-content{display:flex;flex-direction:column;align-items:center;gap:2.6cqw;padding:7cqw 7.5cqw 12cqw;text-align:center}
.ksb-content::after{content:"";position:absolute;inset:3.2cqw;border:2px dashed rgba(11,58,107,.16);border-radius:3cqw;pointer-events:none}
.ksb-tag{position:relative;z-index:1;display:inline-block;padding:1.6cqw 3.4cqw;border-radius:1.4cqw;background:var(--ksb-yellow);color:#16213E;
  font-weight:600;font-size:2.8cqw;line-height:1.1;box-shadow:0 .6cqw 0 var(--ksb-yellow-dark)}
.ksb-title{position:relative;z-index:1;margin:0;font-family:'Bitter',Georgia,serif;font-weight:600;line-height:1.12;color:var(--ksb-heading);font-size:6.6cqw}
.ksb-title::after{content:"";display:block;width:16cqw;height:1.4cqw;margin:1.8cqw auto 0;border-radius:2cqw;
  background:repeating-linear-gradient(90deg,var(--accent,var(--ksb-yellow)) 0 2.6cqw,transparent 2.6cqw 3.6cqw)}
.ksb-media{position:relative;z-index:1;flex:1 1 56%;min-height:0;width:100%;border-radius:2.6cqw;background:#EEF3F9;
  box-shadow:0 1.4cqw 3cqw rgba(8,42,78,.16);overflow:visible}
.ksb-media>img,.ksb-media>video,.ksb-media>iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;border-radius:2.6cqw;object-fit:cover}
.ksb-media>video,.ksb-media>iframe{background:#000;object-fit:contain}
.ksb-media::before,.ksb-media::after{content:"";position:absolute;z-index:2;width:15cqw;height:4.4cqw;background:rgba(252,197,44,.78);
  box-shadow:0 .3cqw .8cqw rgba(0,0,0,.08);pointer-events:none}
.ksb-media::before{top:-1.8cqw;left:-3cqw;transform:rotate(-32deg)}
.ksb-media::after{bottom:-1.8cqw;right:-3cqw;transform:rotate(-32deg);background:rgba(173,205,240,.85)}
.ksb-media.is-video::before,.ksb-media.is-video::after{display:none}
.ksb-text{position:relative;z-index:1;flex:0 1 auto;padding:0 4cqw;max-height:36%;overflow:auto;color:#374151;font-weight:500;line-height:1.55;
  font-size:calc(3.3cqw * var(--ksb-fs-scale))}
.ksb-content.no-media .ksb-text{flex:1 1 auto;max-height:none;display:flex;flex-direction:column;justify-content:center}
.ksb-text p{margin:0 0 .5em}.ksb-text p:last-child{margin:0}
.ksb-text strong,.ksb-text b{color:var(--ksb-navy)}
.ksb-sticker{position:absolute;z-index:3;top:5cqw;width:11cqw;height:11cqw;display:grid;place-items:center;border-radius:50%;
  background:#fff;box-shadow:0 .8cqw 2cqw rgba(8,42,78,.15),0 0 0 .6cqw var(--accent,var(--ksb-yellow));font-size:6cqw;line-height:1;
  animation:ksb-wiggle 3.2s ease-in-out infinite}
.ksb-page[data-side=left] .ksb-sticker{left:5cqw}
.ksb-page:not([data-side=left]) .ksb-sticker{right:5cqw}
.ksb-num{position:absolute;z-index:3;bottom:4.6cqw;left:50%;transform:translateX(-50%);min-width:7.6cqw;height:7.6cqw;padding:0 1.6cqw;border-radius:4cqw;
  display:grid;place-items:center;background:var(--ksb-navy);color:var(--ksb-yellow);font-family:'Bitter',Georgia,serif;font-weight:700;font-size:3.4cqw}

/* ---------- Page-turn edges & curled corners (no buttons) ---------- */
.ksb-edge{position:absolute;z-index:8;top:0;bottom:0;width:8cqw;cursor:pointer;display:none;transition:background .25s}
.ksb-edge.r{right:0}.ksb-edge.l{left:0}
.ksb-ov.is-drag-zone .stf__block{cursor:grab}
.ksb-ov.is-dragging .stf__block,.ksb-ov.is-dragging{cursor:grabbing}
.ksb-curl{position:absolute;z-index:9;bottom:0;width:12.5cqw;height:12.5cqw;pointer-events:none;display:none;
  transition:width .35s cubic-bezier(.3,1.6,.5,1),height .35s cubic-bezier(.3,1.6,.5,1);animation:ksb-peek 3.6s ease-in-out infinite}
.ksb-curl.r{right:0}
.ksb-curl.l{left:0;transform:scaleX(-1)}
.ksb-curl::before{content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 50%,var(--ksb-navy) 50%,#1E6BB8 100%)}
.ksb-curl::after{content:"";position:absolute;inset:0;border-radius:0 0 0 0;
  background:linear-gradient(135deg,#FFFFFF 0%,#F1F3F7 30%,#D5DBE4 47%,#AEB8C6 50%,transparent 50.5%);
  filter:drop-shadow(-.8cqw -.8cqw 1.2cqw rgba(8,42,78,.28));border-top-left-radius:22% 100%}

.ksb-page[data-side=right] .ksb-edge.r,.ksb-page[data-side=right] .ksb-curl.r,
.ksb-page[data-side=left] .ksb-edge.l,.ksb-page[data-side=left] .ksb-curl.l,
.ksb-page[data-side=single] .ksb-edge,.ksb-page[data-side=single] .ksb-curl{display:block}
.ksb-page[data-side=single]:first-child .l,.ksb-page[data-side=single]:last-child .r,
.ksb-page.is-last[data-side=single] .r,.ksb-page.is-first[data-side=single] .l{display:none}
.ksb-page.is-cover .ksb-curl::before{background:linear-gradient(135deg,transparent 50%,#FFFDF6 50%,#E9E1C9 100%)}
.ksb-page.is-cover .ksb-curl::after{background:linear-gradient(135deg,#1E5A96 0%,#124578 35%,#0A335E 47%,#062646 50%,transparent 50.5%)}

/* ---------- Hard covers ---------- */
.ksb-cover{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2.4cqw;padding:9cqw 10cqw 12cqw;color:#fff;
  background:
    repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 5px),
    radial-gradient(120% 90% at 40% 30%,#185A9C 0%,var(--ksb-navy) 45%,var(--ksb-navy-dark) 100%)}
.ksb-cover::before{content:"";position:absolute;inset:4.2cqw;border:.7cqw solid var(--ksb-yellow);border-radius:2.4cqw;pointer-events:none}
.ksb-cover::after{content:"";position:absolute;inset:6cqw;border:1px dashed rgba(252,197,44,.6);border-radius:1.6cqw;pointer-events:none}
.ksb-page.is-front .ksb-cover{box-shadow:inset 3.2cqw 0 2cqw -2cqw rgba(0,0,0,.45),inset 4.5cqw 0 0 -3.8cqw rgba(255,255,255,.18)}
.ksb-page.is-back .ksb-cover{box-shadow:inset -3.2cqw 0 2cqw -2cqw rgba(0,0,0,.45)}
.ksb-bunting{position:absolute;z-index:1;top:4.4cqw;left:7cqw;width:86cqw;height:10cqw;filter:drop-shadow(0 .5cqw .4cqw rgba(0,0,0,.25))}
.ksb-crest{position:relative;z-index:2;width:17cqw;height:17cqw;margin-top:4cqw;object-fit:contain;filter:drop-shadow(0 .8cqw 1cqw rgba(0,0,0,.3))}
.ksb-badge{position:relative;z-index:2;font-size:2.8cqw;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ksb-yellow)}
.ksb-cover-title{position:relative;z-index:2;margin:0;font-family:'Bitter',Georgia,serif;font-weight:700;font-size:9.2cqw;line-height:1.05;color:#fff;
  text-shadow:0 .5cqw 0 rgba(0,0,0,.25)}
.ksb-cover-title em{font-style:normal;color:var(--ksb-yellow)}
.ksb-cover-art{position:relative;z-index:2;flex:1 1 auto;min-height:0;width:84%;border-radius:40cqw 40cqw 3cqw 3cqw;overflow:hidden;
  border:1.1cqw solid var(--ksb-yellow);box-shadow:0 1.4cqw 3cqw rgba(0,0,0,.35);background:#fff}
.ksb-cover-art img{width:100%;height:100%;object-fit:cover;display:block}
.ksb-cover-sub{position:relative;z-index:2;margin:0;font-size:3.3cqw;font-weight:500;color:rgba(255,255,255,.9)}

/* the yellow triangle that opens the book */
.ksb-tri{display:block;overflow:visible}
.ksb-tri path{fill:var(--ksb-yellow);stroke:var(--ksb-yellow-dark);stroke-width:5;stroke-linejoin:round}
.ksb-open{position:absolute;z-index:10;left:50%;bottom:6.5cqw;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1.8cqw;
  color:#fff}
.ksb-ov button.ksb-open{background:transparent !important;padding:0 !important;color:#fff !important}
.ksb-open .ksb-tri-wrap{position:relative;width:15cqw;height:15cqw;display:grid;place-items:center;border-radius:50%;background:rgba(252,197,44,.14)}
.ksb-open .ksb-tri-wrap::before,.ksb-open .ksb-tri-wrap::after{content:"";position:absolute;inset:0;border-radius:50%;border:.6cqw solid var(--ksb-yellow);animation:ksb-ring 2.2s ease-out infinite}
.ksb-open .ksb-tri-wrap::after{animation-delay:1.1s}
.ksb-open .ksb-tri{width:70%;height:70%;margin-left:8%;filter:drop-shadow(0 .7cqw 0 var(--ksb-yellow-dark));animation:ksb-bounce 1.4s ease-in-out infinite}
.ksb-open:hover .ksb-tri{animation-duration:.6s}
.ksb-open-label{font-size:3cqw;font-weight:600;letter-spacing:.04em;color:#fff}

/* end, keepsake & back cover */
.ksb-end{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3.4cqw;padding:12cqw;text-align:center;
  background:var(--ksb-paper) radial-gradient(circle at 50% 50%,rgba(252,197,44,.22),transparent 60%)}
.ksb-end-stars{display:flex;gap:2cqw}
.ksb-end-stars i{width:8cqw;height:8cqw;background:var(--ksb-yellow);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:ksb-twinkle 2.4s ease-in-out infinite}
.ksb-end-stars i:nth-child(2){width:11cqw;height:11cqw;animation-delay:.4s}.ksb-end-stars i:nth-child(3){animation-delay:.8s}
.ksb-end-title{margin:0;font-family:'Bitter',Georgia,serif;font-weight:700;font-size:13cqw;line-height:1;color:var(--ksb-heading)}
.ksb-end-text{margin:0;font-size:3.8cqw;color:var(--ksb-muted);font-weight:500}
.ksb-ov .ksb-pill{display:inline-flex;align-items:center;gap:2cqw;padding:2.8cqw 5.2cqw;border-radius:1.6cqw;background:var(--ksb-yellow) !important;
  color:#16213E !important;font-weight:700;font-size:3.6cqw;box-shadow:0 .9cqw 0 var(--ksb-yellow-dark) !important;transition:transform .15s}
.ksb-ov .ksb-pill:hover{transform:translateY(-.5cqw)}
.ksb-pill .ksb-tri{width:4.2cqw;height:4.2cqw}.ksb-pill .ksb-tri path{fill:var(--ksb-navy);stroke:var(--ksb-navy)}
.ksb-keep{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqw;padding:12cqw;text-align:center}
.ksb-keep h4{margin:0;font-family:'Bitter',Georgia,serif;font-weight:600;font-size:6cqw;color:var(--ksb-heading)}
.ksb-keep p{margin:0;font-size:3.4cqw;color:var(--ksb-muted)}
.ksb-keep .line{width:70%;border-bottom:2px dashed rgba(11,58,107,.3);height:9cqw}
.ksb-keep .ksb-crest{width:22cqw;height:22cqw;margin:0;filter:none;opacity:.9}
.ksb-back{justify-content:center;padding:14cqw 10cqw}
.ksb-back .ksb-pill{margin-top:3cqw}

/* ---------- Hint under the book ---------- */
.ksb-hint{position:relative;z-index:2;display:flex;justify-content:center;margin-top:22px}
.ksb-hint span{display:inline-block;text-align:center;line-height:1.5;padding:10px 20px;border-radius:40px;background:var(--ksb-navy);color:#fff;
  font-weight:500;font-size:15px;box-shadow:0 6px 16px rgba(8,42,78,.2)}
.ksb-hint b{color:var(--ksb-yellow);font-weight:600}
.ksb-hint i{display:inline-block;vertical-align:-3px;margin-right:8px;width:16px;height:16px;background:linear-gradient(135deg,#fff 0 48%,transparent 50%),linear-gradient(135deg,transparent 50%,var(--ksb-yellow) 50%);border-radius:2px}

/* confetti */
.ksb-burst{position:absolute;z-index:60;width:0;height:0;pointer-events:none}
.ksb-burst i{position:absolute;left:-6px;top:-6px;width:12px;height:12px;background:var(--c);border-radius:3px;animation:ksb-pop 1s cubic-bezier(.1,.7,.3,1) forwards}
.ksb-burst i:nth-child(3n){border-radius:50%}
.ksb-burst i:nth-child(4n){width:18px;height:18px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}

@keyframes ksb-float{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(calc(var(--r,0deg) * -1))}}
@keyframes ksb-twinkle{0%,100%{opacity:.35;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(15deg)}}
@keyframes ksb-drift{from{transform:translateX(-30px)}to{transform:translateX(30px)}}
@keyframes ksb-bounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6%) scale(1.06)}}
@keyframes ksb-ring{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@keyframes ksb-wiggle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg) scale(1.06)}}
@keyframes ksb-peek{0%,70%,100%{width:12.5cqw;height:12.5cqw}80%{width:16cqw;height:16cqw}90%{width:12cqw;height:12cqw}}
@keyframes ksb-pop{0%{transform:translate(0,0) rotate(0) scale(1);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(540deg) scale(.4);opacity:0}}

@media (max-width:767px){
  .ksb-ov{padding:62px 8px 14px}
  .ksb-ov .ksb-ov-title{font-size:16px;top:24px}
  .ksb-doodle,.ksb-pencil{display:none}
  .ksb-hint span{font-size:13px;padding:9px 16px}
}
@media (prefers-reduced-motion:reduce){.ksb *,.ksb *::before,.ksb *::after,.ksb-ov *,.ksb-ov *::before,.ksb-ov *::after{animation:none !important}}

.ksb-page:not(.is-front) .ksb-curl{display:none !important}
.ksb-hint .h-open,.ksb-ov.is-closed-state .ksb-hint .h-turn{display:none}
.ksb-ov.is-closed-state .ksb-hint .h-open{display:inline-block}

/* ---------- 3D school & learning items (Nursery, LKG, UKG, Class 1 & 2) ---------- */
.ksb-floor{position:absolute;left:0;bottom:0;width:100%;height:120px}
.ksb-toy{position:absolute;display:block;height:auto;pointer-events:none;user-select:none;
  filter:drop-shadow(0 10px 12px rgba(8,42,78,.18));animation:ksb-float 7s ease-in-out infinite}
.ksb-toy-school-globe{width:120px;animation:ksb-wobble 6s ease-in-out infinite;transform-origin:50% 95%}
.ksb-toy-school-abacus{width:150px;animation-duration:8s}
.ksb-toy-toy-blocks{width:140px;--r:-2deg;animation-duration:8s}
.ksb-toy-school-slate{width:150px;--r:3deg;animation-duration:9s}
.ksb-toy-school-bag{width:118px;animation:ksb-wobble 5s ease-in-out infinite;transform-origin:50% 100%}
.ksb-toy-toy-crayons{width:108px;animation:none}
.ksb-toy-school-palette{width:118px;animation:none}
.ksb-toy-school-pencil{width:170px;animation:none}
.ksb-toy-school-books{width:150px;animation:none}
@keyframes ksb-wobble{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media (max-width:1100px){.ksb-toy-toy-blocks,.ksb-toy-school-slate{width:110px}.ksb-toy-toy-crayons,.ksb-toy-school-palette,.ksb-toy-school-pencil{display:none}}
@media (max-width:767px){
  .ksb-toy-toy-blocks,.ksb-toy-school-slate,.ksb-toy-toy-crayons,.ksb-toy-school-palette,.ksb-toy-school-pencil{display:none}
  .ksb-toy-school-globe{width:58px;top:92px !important}.ksb-toy-school-abacus{width:72px;top:96px !important;right:10px !important}
  .ksb-toy-school-bag{width:66px;bottom:22px !important}.ksb-toy-school-books{width:96px;bottom:20px !important}
  .ksb-floor{height:80px}
}
