:root{
  --ink:#18372d;
  --ink-2:#284b40;
  --muted:#64766f;
  --paper:#fffdf8;
  --cream:#f6f0e5;
  --cream-2:#ece3d3;
  --white:#fff;
  --green:#34715a;
  --green-dark:#285744;
  --gold:#bf8731;
  --line:#e4dccd;
  --shadow:0 18px 48px rgba(31,60,49,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img,svg{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;line-height:1.05}h1{font-size:clamp(3.2rem,7.4vw,7rem)}h2{font-size:clamp(2.2rem,4.6vw,4.2rem)}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,253,248,.94);border-bottom:1px solid rgba(52,113,90,.1);backdrop-filter:blur(14px)}
.nav-wrap{max-width:1240px;height:76px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:-.02em;font-size:1.18rem}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green),#4e8a72);color:#fff;font-size:.74rem;letter-spacing:.06em;box-shadow:0 8px 20px rgba(52,113,90,.2)}
.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{text-decoration:none;color:#415e53;font-weight:750;font-size:.94rem}.main-nav a:hover,.main-nav .active-nav{color:var(--green)}.mobile-menu-button{display:none;border:0;background:none;color:var(--ink);font-size:1.35rem}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:14px 21px;text-decoration:none;font-weight:850;cursor:pointer;transition:.18s ease;transition-property:transform,box-shadow,background}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(52,113,90,.2)}.primary:hover{background:var(--green-dark)}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.text-link{color:var(--green);text-decoration:none;font-weight:850}.text-link:hover{text-decoration:underline}
.eyebrow,.mini-label,.lesson-number{display:inline-block;color:var(--gold);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow{margin-bottom:16px}

/* HOME */
.home-hero{max-width:1420px;margin:auto;min-height:780px;padding:82px clamp(24px,6vw,92px);display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}.vibrant-hero{background:radial-gradient(circle at 87% 18%,rgba(255,210,107,.18),transparent 28rem),radial-gradient(circle at 10% 15%,rgba(66,142,111,.10),transparent 25rem)}
.hero-copy h1{max-width:790px;margin-bottom:28px}.hero-copy h1 span{color:var(--green)}.hero-copy>p{max-width:690px;font-size:1.12rem;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 42px}.hero-mini-stats{display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;max-width:680px}.hero-mini-stats div{display:flex;flex-direction:column}.hero-mini-stats strong{font-size:1.22rem}.hero-mini-stats span{color:var(--muted);font-size:.82rem}
.home-character-stage{min-height:560px;position:relative}.home-art-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.home-art-card svg{width:100%;height:100%;object-fit:cover}.art-card-back{width:64%;height:330px;right:0;top:20px;transform:rotate(6deg);opacity:.86}.art-card-front{width:78%;height:430px;left:0;top:95px;transform:rotate(-2deg)}.art-caption{position:absolute;left:20px;bottom:18px;right:20px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.8);border-radius:16px;padding:13px 15px;display:flex;justify-content:space-between;gap:15px;align-items:center}.art-caption span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-weight:900}.art-caption strong{font-size:.92rem}.home-floating-badge{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:11px 14px;border-radius:999px;font-weight:850;font-size:.8rem;animation:floaty 4s ease-in-out infinite}.badge-one{right:2%;bottom:92px}.badge-two{left:-2%;top:34px;animation-delay:-2s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.section-shell{max-width:1240px;margin:auto;padding:92px 28px}.section-heading{margin-bottom:42px}.section-heading.centered{text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.section-heading p{color:var(--muted)}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.split-heading h2{margin-bottom:0}
.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.flow-grid article{position:relative;overflow:hidden;padding:27px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.2s ease}.flow-grid article:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.flow-grid article>span{position:absolute;right:18px;top:16px;color:#d6cab8;font-weight:900;font-size:.75rem}.flow-icon{width:48px;height:48px;border-radius:15px;background:var(--cream);display:grid;place-items:center;font-size:1.3rem;margin-bottom:18px}.flow-grid h3{margin:0 0 7px;font-size:1.08rem}.flow-grid p{margin:0;color:var(--muted);font-size:.92rem}
.story-showcase-section{padding-top:54px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.story-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.2s ease;transition-property:transform,box-shadow}.story-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.story-card-visual{position:relative;display:block;min-height:220px;overflow:hidden;text-decoration:none}.card-art-wrap{position:absolute;inset:0}.card-art-wrap svg{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.story-card:hover .card-art-wrap svg{transform:scale(1.035)}.story-passage{position:absolute;right:14px;bottom:14px;z-index:2;background:rgba(255,255,255,.9);padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:850}.story-card-body{padding:23px}.story-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.story-card-meta>span:first-child{color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.theme-pill,.complete-pill{padding:5px 8px;border-radius:999px;background:var(--cream);font-size:.67rem;font-weight:850;color:#66776f}.complete-pill{background:#e1f1e7;color:var(--green)}.story-card h3{font-size:1.52rem;margin-bottom:9px}.story-card h3 a{text-decoration:none}.story-card-body>p{color:var(--muted);font-size:.93rem;min-height:100px}.story-card-link{color:var(--green);text-decoration:none;font-weight:850;font-size:.88rem}
.kid-friendly-callout{display:grid;grid-template-columns:180px 1fr 220px;align-items:center;gap:34px;padding:40px;border-radius:30px;background:linear-gradient(135deg,#e9f4ee,#fff0d2);border:1px solid var(--line)}.callout-art{height:150px;position:relative;display:grid;place-items:center}.open-book{font-size:5.5rem;filter:drop-shadow(0 14px 18px rgba(0,0,0,.08));animation:bookbounce 3.5s ease-in-out infinite}.spark{position:absolute;color:#d49b3c;animation:twinkle 1.8s ease-in-out infinite}.s1{left:18px;top:22px}.s2{right:14px;bottom:28px;animation-delay:-.8s}.kid-friendly-callout h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:12px}.kid-friendly-callout p{margin:0;color:var(--muted)}.progress-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.progress-card>span{color:var(--muted);font-size:.76rem}.progress-card strong{display:block;font-size:1.45rem;margin:3px 0 10px}.tiny-progress{height:8px;border-radius:999px;background:var(--cream);overflow:hidden}.tiny-progress span{display:block;height:100%;background:var(--green);width:0;transition:width .3s ease}
@keyframes bookbounce{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(3deg) translateY(-8px)}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}

/* LIBRARY / SOURCES */
.page-hero{min-height:500px;padding:92px max(28px,calc((100vw - 1184px)/2));display:flex;align-items:center;background:linear-gradient(135deg,#eef5ef,#fff0d9)}.page-hero>div:first-child{max-width:840px}.page-hero h1{font-size:clamp(3.2rem,6.5vw,6.2rem);margin-bottom:22px}.page-hero p{max-width:730px;color:var(--muted);font-size:1.08rem}.compact-hero{min-height:390px}.library-hero{position:relative;overflow:hidden}.library-hero::after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:6%;top:18%;background:rgba(255,255,255,.38)}.library-hero-bubbles{position:absolute;right:max(28px,calc((100vw - 1184px)/2));bottom:52px;display:flex;gap:8px;flex-wrap:wrap;max-width:360px;justify-content:flex-end;z-index:2}.library-hero-bubbles span{background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-size:.74rem;font-weight:850;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;color:var(--muted);font-weight:750;cursor:pointer}.filter-button:hover,.active-filter{background:var(--green);border-color:var(--green);color:#fff}.library-progress{text-align:right}.library-progress span{display:block;color:var(--muted);font-size:.76rem}.library-progress strong{font-size:.9rem}
.soft-section{max-width:none;padding-left:max(28px,calc((100vw - 1184px)/2));padding-right:max(28px,calc((100vw - 1184px)/2));background:var(--cream)}.source-list{display:grid;gap:14px}.source-card{display:grid;grid-template-columns:1fr auto;gap:25px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.source-card>div:first-child{display:grid;grid-template-columns:46px 1fr;column-gap:16px;align-items:center}.source-card h2{font-family:inherit;font-size:1.18rem;letter-spacing:-.02em;margin:0}.source-card p{grid-column:2;color:var(--muted);margin:0}.source-number{grid-row:1/3;width:46px;height:46px;border-radius:14px;background:var(--cream);display:grid;place-items:center;font-weight:900;color:var(--gold)}.source-links{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.source-links a{font-size:.77rem;font-weight:800;text-decoration:none;padding:8px 10px;border-radius:10px;background:var(--cream)}.source-links a:hover{background:var(--cream-2)}.source-note{max-width:850px;margin:auto;text-align:center}.source-note p{color:var(--muted)}

/* STORY HERO / FLOW */
.story-detail-hero{position:relative;min-height:610px;overflow:hidden}.story-hero-inner{max-width:1240px;margin:auto;padding:48px 28px 80px}.back-link{display:inline-block;margin-bottom:58px;text-decoration:none;font-size:.86rem;font-weight:850}.story-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.story-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.story-hero-meta span{background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.5);padding:6px 10px;border-radius:999px;font-size:.7rem;font-weight:850}.story-hero-copy h1{font-size:clamp(3.7rem,7vw,6.9rem);margin:0 0 22px}.story-hero-copy>p{max-width:680px;font-size:1.08rem;color:#31584b}.story-start-button{margin-top:10px;background:var(--ink);color:#fff}.story-hero-art{height:370px;border-radius:30px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.55);box-shadow:var(--shadow);transform:rotate(1.5deg)}.story-hero-art svg{width:100%;height:100%}
.story-progress-wrap{position:sticky;top:76px;z-index:60;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.story-progress-nav{max-width:1240px;margin:auto;padding:11px 28px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.progress-tab{border:0;background:transparent;border-radius:11px;padding:9px 8px;display:flex;align-items:center;justify-content:center;gap:6px;color:#75847d;font-size:.75rem;font-weight:800;cursor:pointer}.progress-tab span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:.64rem}.progress-tab:hover,.active-tab{background:#eaf3ed;color:var(--green)}.active-tab span{background:var(--green);color:#fff}
.lesson-section{display:none;opacity:1}.lesson-section.active-lesson{display:block}.lesson-section.lesson-leaving{opacity:0;transform:translateY(-8px);transition:.18s ease}.lesson-section.lesson-entering{opacity:0;transform:translateY(10px)}.lesson-content{max-width:1184px;min-height:620px;margin:auto;padding:78px 28px 100px}.lesson-content.narrow{max-width:900px}.lesson-lede{max-width:760px;color:var(--muted);font-size:1.03rem}.lesson-next-row{margin-top:38px}
.intro-lesson{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.intro-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0 32px}.intro-cards article{padding:25px;border:1px solid var(--line);border-radius:18px;background:#fff}.intro-cards article>span{color:var(--gold);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.intro-cards p{margin:11px 0 0}.intro-art{height:430px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(1deg)}.intro-art svg{width:100%;height:100%}
.story-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.story-section-heading h2{margin-bottom:0}.story-section-heading>p{max-width:460px;color:var(--muted);margin-bottom:5px}.scene-viewer{display:grid;grid-template-columns:1.15fr .85fr;min-height:510px;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.scene-stage{position:relative;min-height:510px;overflow:hidden}.scene-art-wrap,.scene-art-wrap svg{width:100%;height:100%}.scene-badge{position:absolute;left:22px;top:22px;width:58px;height:58px;border-radius:17px;background:rgba(255,255,255,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.08)}.scene-badge span{font-weight:950;font-size:1.15rem;line-height:1}.scene-badge small{font-size:.5rem;font-weight:900;letter-spacing:.12em;color:var(--muted)}.scene-copy{padding:46px;display:flex;flex-direction:column;justify-content:center}.scene-copy>span{color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.scene-copy h3{font-family:Georgia,serif;font-size:2.1rem;margin:11px 0 14px}.scene-copy p{color:var(--muted);font-size:1.01rem}.scene-controls{display:flex;gap:10px;margin-top:18px}.icon-button{width:48px;height:48px;border:1px solid var(--line);background:#fff;border-radius:13px;font-weight:900;cursor:pointer}.icon-button:disabled{opacity:.35;cursor:not-allowed}.scene-progress-dots{display:flex;gap:7px;margin-top:8px}.scene-progress-dots button{width:8px;height:8px;border:0;padding:0;border-radius:999px;background:#d7d1c7;cursor:pointer;transition:.2s}.scene-progress-dots .active-dot{width:25px;background:var(--green)}
.scene-shift-left .story-svg{animation:sceneInLeft .55s cubic-bezier(.2,.8,.2,1)}.scene-shift-right .story-svg{animation:sceneInRight .55s cubic-bezier(.2,.8,.2,1)}.scene-copy-shift h3,.scene-copy-shift p{animation:copyIn .42s ease}.art-cloud{animation:cloudDrift 8s ease-in-out infinite}.art-bob,.art-character{animation:bob 3.8s ease-in-out infinite}.art-fly{animation:flyStone 1.4s ease-in-out infinite}.art-wave{animation:waveMove 2.2s ease-in-out infinite}.art-rainbow{animation:rainbowGlow 2.5s ease-in-out infinite}.art-twinkle{animation:twinkle 1.8s ease-in-out infinite}.art-float{animation:floaty 3s ease-in-out infinite}.art-wind{stroke-dasharray:90;animation:windMove 1.6s linear infinite}.art-sunpulse{animation:sunPulse 2.2s ease-in-out infinite}
@keyframes sceneInLeft{from{opacity:.3;transform:translateX(24px) scale(1.02)}to{opacity:1;transform:none}}@keyframes sceneInRight{from{opacity:.3;transform:translateX(-24px) scale(1.02)}to{opacity:1;transform:none}}@keyframes copyIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes cloudDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(18px)}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes flyStone{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-18px)}}@keyframes waveMove{0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}@keyframes rainbowGlow{0%,100%{opacity:.75}50%{opacity:1}}@keyframes windMove{from{stroke-dashoffset:90}to{stroke-dashoffset:-90}}@keyframes sunPulse{0%,100%{opacity:.75}50%{opacity:1;transform:scale(1.06);transform-origin:center}}

/* GAMES */
.game-lesson-content>h2{margin-bottom:12px}.unique-game-shell{margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.game-title-row{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:7px}.game-title-row h3{margin:5px 0 0;font-size:1.35rem}.game-score{padding:8px 11px;border-radius:999px;background:var(--cream);font-size:.78rem;font-weight:900;white-space:nowrap}.game-help{color:var(--muted);margin-bottom:18px;font-size:.94rem}.game-message{margin-top:15px;padding:13px 15px;border-radius:13px;background:var(--cream);font-size:.86rem;font-weight:750}.success-message{background:#e3f1e8;color:var(--green)}
/* David */
.adventure-board{height:480px;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(#a9dceb 0 45%,#d8b575 45% 100%);outline:none}.david-path{position:absolute;left:4%;top:62%;width:90%;height:95px;border-radius:50%;background:#ead2a4;transform:rotate(-11deg)}.moving-cloud{position:absolute;width:100px;height:30px;border-radius:999px;background:rgba(255,255,255,.75);animation:cloudDrift 8s ease-in-out infinite}.moving-cloud:before,.moving-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.moving-cloud:before{width:45px;height:45px;left:18px;top:-17px}.moving-cloud:after{width:55px;height:55px;right:12px;top:-24px}.cloud-one{left:8%;top:12%}.cloud-two{left:67%;top:19%;animation-delay:-3s;transform:scale(.72)}.game-tree{position:absolute;width:42px;height:65px;border-radius:50% 50% 40% 40%;background:#62835e;border-bottom:18px solid #865f3d;z-index:2}.t1{left:19%;top:57%}.t2{left:61%;top:67%}.t3{left:80%;top:51%}.boulder{position:absolute;width:54px;height:38px;border-radius:50% 55% 45% 45%;background:#9d876c;box-shadow:inset -10px -8px rgba(0,0,0,.08)}.b1{left:29%;top:27%}.b2{left:52%;top:56%}.b3{left:69%;top:32%}.collectible-stone{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border:0;border-radius:50%;background:#f4eee3;color:#76695a;box-shadow:0 0 0 7px rgba(255,255,255,.4),0 8px 18px rgba(0,0,0,.12);cursor:pointer;animation:stoneGlow 1.8s ease-in-out infinite;z-index:5}.collectible-stone.collected{opacity:0;transform:translate(-50%,-50%) scale(.4);transition:.25s}.collectible-stone.ping{animation:ping .55s ease}.david-player{position:absolute;left:7%;top:78%;width:36px;height:46px;transform:translate(-50%,-50%);z-index:10;transition:left .07s linear,top .07s linear}.david-player .head{display:block;width:22px;height:22px;border-radius:50%;background:#d5a078;margin:auto;box-shadow:0 -7px 0 -2px #4d392f}.david-player .body{display:block;width:30px;height:30px;border-radius:10px 10px 7px 7px;background:#4c8065;margin:-2px auto 0}.camp-goal{position:absolute;left:91%;top:13%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 0 0 8px rgba(255,255,255,.25);font-weight:900;animation:goalPulse 2s ease-in-out infinite}.camp-goal span{font-size:1.35rem}.camp-goal small{font-size:.6rem}.goal-complete{background:#e1f2e6;color:var(--green)}.dpad{display:grid;grid-template-columns:repeat(3,52px);gap:7px;justify-content:center;margin-top:16px}.dpad button,.sea-controls button,.storm-arrow{height:48px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--green);font-weight:900;cursor:pointer}.dpad button:hover,.sea-controls button:hover,.storm-arrow:hover{background:var(--cream)}@keyframes stoneGlow{0%,100%{box-shadow:0 0 0 7px rgba(255,255,255,.35),0 8px 18px rgba(0,0,0,.12)}50%{box-shadow:0 0 0 11px rgba(255,255,255,.14),0 8px 18px rgba(0,0,0,.12)}}@keyframes ping{50%{transform:translate(-50%,-50%) scale(1.5)}}@keyframes goalPulse{0%,100%{box-shadow:0 0 0 8px rgba(255,255,255,.25)}50%{box-shadow:0 0 0 15px rgba(255,255,255,.1)}}
/* Noah memory */
.memory-scene{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(#a7d9e7,#719fa9);padding:38px 26px 30px}.rain-layer{position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,transparent 0 28px,rgba(255,255,255,.3) 29px 31px,transparent 32px 55px);background-size:220% 100%;animation:rainMove 1.5s linear infinite;opacity:.45}.mini-ark{position:absolute;right:18px;bottom:18px;width:100px;height:55px;clip-path:polygon(10% 20%,90% 20%,100% 100%,0 100%);background:#a87445;color:#fff;display:grid;place-items:center;font-size:.65rem;font-weight:900;letter-spacing:.12em}.memory-grid{position:relative;z-index:2;max-width:620px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.memory-card{height:125px;position:relative;border:0;background:none;perspective:700px;cursor:pointer}.card-back,.card-front{position:absolute;inset:0;border-radius:16px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;transition:transform .45s cubic-bezier(.2,.75,.2,1);box-shadow:0 10px 24px rgba(0,0,0,.08)}.card-back{background:#f9e8bd;font-size:1.5rem;font-weight:950;color:#9b7133}.card-front{background:#fff;transform:rotateY(180deg);flex-direction:column;font-size:2.5rem}.card-front small{font-size:.68rem;font-weight:850;color:var(--ink);margin-top:4px}.memory-card.flipped .card-back,.memory-card.matched .card-back{transform:rotateY(180deg)}.memory-card.flipped .card-front,.memory-card.matched .card-front{transform:rotateY(0)}.memory-card.matched .card-front{box-shadow:0 0 0 4px #9cccae inset}.memory-card.matched{animation:matchBounce .5s ease}@keyframes rainMove{from{background-position:0 0}to{background-position:-220px 0}}@keyframes matchBounce{50%{transform:translateY(-8px)}}
/* Samaritan */
.care-game{display:grid;grid-template-columns:1fr .85fr;gap:18px}.care-road{min-height:350px;border-radius:20px;background:linear-gradient(#bfe3d9 0 42%,#d0b57e 42%);position:relative;overflow:hidden}.care-road:after{content:"";position:absolute;left:4%;right:4%;height:85px;bottom:38px;border-radius:50%;background:#ead5aa;transform:rotate(-8deg)}.traveler-figure{position:absolute;left:18%;bottom:62px;z-index:3;display:flex;flex-direction:column;align-items:center}.traveler-figure span{font-size:2.2rem}.traveler-figure small{background:#fff;padding:3px 6px;border-radius:7px;font-size:.6rem;font-weight:800}.care-bag{position:absolute;right:10%;bottom:60px;z-index:4;width:150px;min-height:125px;background:#8a6446;border-radius:14px 14px 25px 25px;border:5px solid #6d4d35;color:#fff;padding:14px;text-align:center}.care-bag>span{font-size:.62rem;font-weight:950;letter-spacing:.1em}.care-bag:before{content:"";position:absolute;width:80px;height:42px;border:7px solid #6d4d35;border-bottom:0;border-radius:42px 42px 0 0;top:-46px;left:28px}.care-items{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.care-item{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:.18s}.care-item:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.07)}.care-item>span{font-size:2rem}.care-item small{font-size:.68rem;font-weight:850}.care-item.chosen{background:#e4f1e8;border-color:#a9cfb6;opacity:.7}.care-item.wrong-pick{animation:shake .38s ease;background:#f8e7e2}.bag-chip{display:inline-block;font-size:1.35rem;margin:8px 3px 0;animation:dropIn .35s ease}@keyframes dropIn{from{transform:translateY(-18px) scale(.6);opacity:0}to{transform:none;opacity:1}}
/* Moses */
.sea-game{height:470px;border-radius:22px;position:relative;overflow:hidden;background:#b8e1ea}.sea-wall{position:absolute;top:0;bottom:0;width:31%;background:linear-gradient(90deg,#3c98ad,#66b3c2);animation:waterWall 2.2s ease-in-out infinite}.left-sea{left:0;border-radius:0 45% 45% 0}.right-sea{right:0;border-radius:45% 0 0 45%;animation-delay:-1.1s}.sea-path{position:absolute;left:31%;right:31%;top:0;bottom:0;background:linear-gradient(#e4c58a,#cfa76e);padding:24px 10px;display:flex;flex-direction:column-reverse;justify-content:space-between}.sea-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;height:13%}.sea-tile{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);border-radius:10px;cursor:pointer}.active-row .sea-tile{border-color:rgba(255,255,255,.4)}.sea-tile.hint-tile{animation:pathHint .7s ease;background:rgba(255,245,190,.55)}.sea-player{position:absolute;left:50%;bottom:5%;transform:translate(-50%,50%);width:30px;height:30px;border-radius:50%;background:var(--ink);color:transparent;border:5px solid rgba(255,255,255,.7);transition:.22s ease;z-index:4}.sea-controls{display:flex;justify-content:center;gap:8px;margin-top:14px}.sea-controls button{min-width:58px}.shake{animation:shake .38s ease}@keyframes waterWall{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}@keyframes pathHint{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 5px rgba(255,242,170,.35)}}@keyframes shake{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}
/* Nativity */
.star-game{height:455px;border-radius:22px;background:linear-gradient(#182c49,#2d4968 65%,#8e704f 65%);position:relative;overflow:hidden}.star-game:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#fff 1px,transparent 1.4px);background-size:42px 42px;opacity:.3}.night-hills{position:absolute;left:-5%;right:-5%;bottom:0;height:130px;background:#9a7954;border-radius:50% 50% 0 0/35% 35% 0 0}.bethlehem-silhouette{position:absolute;right:2%;bottom:22px;width:110px;height:100px;background:#6f5239;clip-path:polygon(10% 100%,10% 45%,35% 45%,35% 20%,55% 20%,55% 52%,70% 52%,70% 35%,92% 35%,92% 100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:6px;color:#f8d66f;transition:.4s}.bethlehem-silhouette small{font-size:.55rem;background:rgba(255,255,255,.8);color:var(--ink);padding:2px 4px;border-radius:5px}.bethlehem-glow{filter:drop-shadow(0 0 18px #f6d779)}.star-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.drawn-star-line{stroke:#f6d770;stroke-width:.8;stroke-dasharray:120;animation:drawLine .55s ease forwards;filter:drop-shadow(0 0 3px #f6d770)}.path-star{position:absolute;transform:translate(-50%,-50%);width:43px;height:43px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.15);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 0 0 6px rgba(255,255,255,.05);z-index:4}.path-star:hover{background:rgba(255,255,255,.28)}.lit-star{background:#f7d86e!important;color:#57451f;box-shadow:0 0 26px #f7d86e;animation:starPop .4s ease}.wrong-star{animation:shake .38s ease;background:#d97b6a!important}.path-star:nth-of-type(odd){animation:starPulse 2.2s ease-in-out infinite}.lit-star{animation:starPop .4s ease!important}@keyframes drawLine{from{stroke-dashoffset:120}to{stroke-dashoffset:0}}@keyframes starPop{50%{transform:translate(-50%,-50%) scale(1.3)}}@keyframes starPulse{0%,100%{box-shadow:0 0 0 6px rgba(255,255,255,.05)}50%{box-shadow:0 0 0 10px rgba(255,255,255,.02)}}
/* Storm */
.storm-game{height:420px;border-radius:22px;background:linear-gradient(#687b8d 0 53%,#4f8da4 53%);position:relative;overflow:hidden;transition:1s}.storm-game.storm-calm{background:linear-gradient(#b4dce5 0 53%,#66a3b5 53%)}.storm-cloud{position:absolute;width:190px;height:56px;background:#4f5d69;border-radius:999px;top:55px;opacity:.85}.storm-cloud:before,.storm-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.storm-cloud:before{width:80px;height:80px;left:30px;top:-34px}.storm-cloud:after{width:95px;height:95px;right:25px;top:-44px}.c1{left:5%}.c2{right:4%;transform:scale(.8)}.storm-running .storm-cloud{animation:cloudShake .65s ease-in-out infinite}.rain-streaks{position:absolute;inset:0;background-image:repeating-linear-gradient(110deg,transparent 0 25px,rgba(255,255,255,.35) 26px 28px,transparent 29px 48px);opacity:.45;animation:rainMove 1.1s linear infinite}.storm-calm .rain-streaks{opacity:0;transition:1s}.safe-zone{position:absolute;left:37%;width:26%;top:55%;bottom:12px;background:rgba(198,247,212,.13);border:2px dashed rgba(226,255,234,.5);border-radius:20px}.boat{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);font-size:3.3rem;z-index:5;transition:left .15s linear;filter:drop-shadow(0 10px 8px rgba(0,0,0,.2))}.storm-running .boat{animation:boatRock .7s ease-in-out infinite}.wave{position:absolute;bottom:-40px;width:55%;height:135px;border-radius:50%;background:#4a869d;opacity:.75}.wave-a{left:-10%;animation:waveSlide 2.1s linear infinite}.wave-b{left:28%;bottom:-55px;animation:waveSlide 2.7s linear infinite reverse}.wave-c{right:-10%;bottom:-30px;animation:waveSlide 2.3s linear infinite}.storm-meter{display:grid;grid-template-columns:95px 1fr;gap:12px;align-items:center;margin-top:14px;font-size:.77rem;font-weight:850}.storm-meter>div{height:9px;border-radius:999px;background:var(--cream);overflow:hidden}.storm-meter i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#d46e59,#e4b654,#55a474);transition:width .2s}.storm-actions{display:flex;gap:8px;justify-content:center;margin-top:14px}.storm-arrow{width:50px}.storm-start{min-width:145px}@keyframes cloudShake{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}@keyframes boatRock{0%,100%{transform:translateX(-50%) rotate(-5deg)}50%{transform:translateX(-50%) rotate(5deg)}}@keyframes waveSlide{0%{transform:translateX(-30px)}50%{transform:translateX(30px)}100%{transform:translateX(-30px)}}

/* QUIZ / MEANING / REFLECTION */
.quiz-form{display:grid;gap:18px;margin-top:28px}.quiz-question{border:1px solid var(--line);border-radius:20px;padding:22px;margin:0;background:#fff}.quiz-question legend{padding:0 8px 0 0;font-weight:850;line-height:1.4}.quiz-question legend>span{width:28px;height:28px;border-radius:9px;display:inline-grid;place-items:center;background:var(--cream);color:var(--gold);font-size:.72rem;margin-right:10px}.quiz-options{display:grid;gap:8px;margin-top:10px}.quiz-question label{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;padding:11px 12px;border:1px solid transparent;border-radius:12px;cursor:pointer}.quiz-question label:hover{background:var(--cream)}.quiz-question input{position:absolute;opacity:0}.option-marker{width:18px;height:18px;border:2px solid #c9c0b3;border-radius:50%}.quiz-question input:checked+.option-marker{border-color:var(--green);box-shadow:inset 0 0 0 4px #fff;background:var(--green)}.correct-answer{background:#e6f4ea!important;border-color:#9cccae!important}.wrong-answer{background:#fae9e5!important;border-color:#dfa89d!important}.correct-reveal{box-shadow:0 0 0 2px #78b28b inset}.question-feedback{display:none;margin-top:12px;padding:11px 12px;border-radius:11px;font-size:.83rem;font-weight:700}.visible-feedback{display:block}.good-feedback{background:#e6f4ea;color:#2f684f}.bad-feedback{background:#fae9e5;color:#824c40}.neutral-feedback{background:var(--cream);color:var(--muted)}.quiz-result{display:none;margin-top:18px;padding:15px;border-radius:12px;background:#eef4ef;font-weight:850}.show-result{display:block}
.meaning-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:36px}.meaning-main>p{color:var(--muted);font-size:1.03rem;line-height:1.8}.takeaway-box{margin-top:28px;padding:22px;border-left:5px solid var(--gold);background:var(--cream);border-radius:0 15px 15px 0}.takeaway-box span{display:block;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:900;margin-bottom:7px}.takeaway-box strong{font-family:Georgia,serif;font-size:1.23rem;line-height:1.4}.catholic-connection{align-self:start;position:sticky;top:160px;padding:28px;border-radius:22px;background:linear-gradient(145deg,#e8f3ec,#fff4d9);border:1px solid var(--line)}.connection-icon{width:48px;height:48px;border-radius:15px;background:#fff;display:grid;place-items:center;color:var(--gold);margin-bottom:20px;font-size:1.2rem}.catholic-connection h3{font-family:Georgia,serif;font-size:1.55rem;margin:7px 0 10px}.catholic-connection p{color:var(--muted)}.catholic-connection a{display:block;margin-top:9px;color:var(--green);font-weight:800;text-decoration:none;font-size:.86rem}.meaning-next{grid-column:1/-1}
.reflection-card{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;margin:28px 0}.reflection-card>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:900}.reflection-card>p{font-family:Georgia,serif;font-size:1.62rem;line-height:1.35;margin:12px 0 20px}.reflection-card textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:14px;padding:15px;background:var(--paper);color:var(--ink);outline:none}.reflection-card textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(52,113,90,.11)}.reflection-card small{display:block;color:var(--muted);margin-top:8px}.completion-card{display:none;grid-template-columns:auto 1fr;gap:18px;margin-top:22px;padding:24px;border-radius:18px;background:#e4f1e8}.completion-card.show-completion{display:grid}.completion-check{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.completion-card h3{margin-bottom:5px}.completion-card p{color:var(--muted);margin-bottom:8px}

/* ACCENTS */
.accent-sand{background:linear-gradient(145deg,#edcf8e,#cf9f58)}.accent-blue{background:linear-gradient(145deg,#acdce9,#6dabc1)}.accent-olive{background:linear-gradient(145deg,#c9dcae,#88a369)}.accent-teal{background:linear-gradient(145deg,#ace0d9,#68aca5)}.accent-gold{background:linear-gradient(145deg,#f3d994,#c99f4e)}.accent-storm{background:linear-gradient(145deg,#abc7d4,#698c9d)}

/* FOOTER */
.site-footer{margin-top:40px;background:#17352c;color:#dce8e2}.footer-grid{max-width:1240px;margin:auto;padding:54px 28px;display:grid;grid-template-columns:1.3fr .65fr 1fr;gap:48px}.footer-brand{color:#fff;margin-bottom:15px}.footer-grid p{max-width:470px;color:#b9cbc2;font-size:.87rem}.footer-grid h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#efd6a0}.footer-grid>div:nth-child(2){display:flex;flex-direction:column;gap:8px}.footer-grid a{text-decoration:none}.footer-grid>div:nth-child(2) a{font-size:.86rem}.footer-grid>div:nth-child(2) a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.09);padding:19px;text-align:center;color:#9eb4aa;font-size:.74rem}
.story-loading{min-height:500px;display:grid;place-items:center;color:var(--muted)}

@media(max-width:1000px){
  .home-hero{grid-template-columns:1fr}.home-character-stage{min-height:520px;max-width:720px;width:100%;margin:auto}.flow-grid,.story-grid{grid-template-columns:repeat(2,1fr)}.kid-friendly-callout{grid-template-columns:150px 1fr}.progress-card{grid-column:1/-1}.story-hero-grid,.intro-lesson,.meaning-layout{grid-template-columns:1fr}.story-hero-art{max-width:760px}.intro-art{max-width:760px}.story-progress-nav{display:flex;overflow-x:auto}.progress-tab{min-width:130px}.scene-viewer{grid-template-columns:1fr}.scene-stage{min-height:410px}.catholic-connection{position:static}.meaning-next{grid-column:auto}.care-game{grid-template-columns:1fr}.source-card{grid-template-columns:1fr}.source-links{justify-content:flex-start}.library-hero-bubbles{position:static;justify-content:flex-start;margin-top:24px}.library-hero{display:block}.library-hero>div:first-child{padding-top:30px}}
@media(max-width:700px){
  h1{font-size:clamp(2.9rem,14vw,4.8rem)}.nav-wrap{height:68px}.mobile-menu-button{display:block}.main-nav{display:none;position:absolute;left:18px;right:18px;top:62px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow)}.main-nav.nav-open{display:flex}.main-nav a{padding:11px;border-radius:10px}.main-nav a:hover{background:var(--cream)}
  .home-hero{padding:54px 22px;min-height:auto}.home-character-stage{min-height:410px}.art-card-front{width:88%;height:320px;top:65px}.art-card-back{height:245px}.home-floating-badge{font-size:.7rem}.badge-one{bottom:18px}.badge-two{top:10px}.hero-mini-stats{gap:20px}.section-shell{padding:70px 22px}.flow-grid,.story-grid,.intro-cards{grid-template-columns:1fr}.story-card-body>p{min-height:auto}.split-heading,.library-toolbar,.kid-friendly-callout{align-items:flex-start;flex-direction:column}.kid-friendly-callout{display:flex;padding:30px}.callout-art{width:100%;height:100px}.library-progress{text-align:left}.page-hero{padding-left:22px;padding-right:22px;min-height:420px}.story-hero-inner{padding-left:22px;padding-right:22px}.back-link{margin-bottom:40px}.story-hero-art{height:280px}.lesson-content{padding:62px 22px 82px}.story-section-heading{align-items:flex-start;flex-direction:column}.scene-stage{min-height:330px}.scene-copy{padding:28px}.unique-game-shell{padding:16px}.game-title-row{align-items:flex-start;flex-direction:column}.adventure-board,.sea-game,.star-game{height:390px}.memory-grid{grid-template-columns:repeat(2,1fr)}.memory-card{height:105px}.care-items{grid-template-columns:repeat(3,1fr)}.care-item{min-height:86px}.care-road{min-height:300px}.sea-wall{width:26%}.sea-path{left:26%;right:26%}.storm-game{height:340px}.footer-grid{grid-template-columns:1fr;gap:24px}.source-card>div:first-child{grid-template-columns:42px 1fr}.source-links{flex-direction:column;align-items:flex-start}.reflection-card>p{font-size:1.38rem}}


/* Additional story themes */
.accent-rose{background:linear-gradient(145deg,#f2c5b8,#cb8d78)}
.accent-meadow{background:linear-gradient(145deg,#c4e6bd,#77b58a)}

/* Prodigal Son — branching road-home game */
.return-game{height:360px;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(#f1c6b8 0 52%,#cdb076 52%)}
.return-sky{position:absolute;inset:0 0 48%;background:linear-gradient(#f2c5b8,#f6ddbd)}
.return-sun{position:absolute;right:10%;top:18%;width:62px;height:62px;border-radius:50%;background:#f5d470;box-shadow:0 0 0 12px rgba(245,212,112,.15)}
.return-road{position:absolute;left:4%;right:4%;bottom:0;height:60%;background:#e8d3aa;clip-path:polygon(0 100%,12% 68%,100% 12%,100% 100%)}
.return-house{position:absolute;right:3%;top:8%;width:110px;height:88px;background:#aa7950;color:#fff;display:grid;place-items:end center;padding-bottom:9px;font-size:.6rem;font-weight:900;letter-spacing:.12em;clip-path:polygon(0 32%,50% 0,100% 32%,100% 100%,0 100%);transition:.4s}
.home-glow{filter:drop-shadow(0 0 18px #f4d76d);transform:scale(1.05)}
.return-traveler{position:absolute;left:8%;bottom:17%;width:34px;height:54px;background:#795f50;border-radius:13px 13px 8px 8px;z-index:5;transition:left .6s cubic-bezier(.2,.8,.2,1)}
.return-traveler span{position:absolute;left:7px;top:-17px;width:20px;height:20px;border-radius:50%;background:#c99872;color:transparent}
.road-marker{position:absolute;bottom:12%;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.65)}
.road-marker.m1{left:29%}.road-marker.m2{left:51%}.road-marker.m3{left:73%}.road-marker.m4{left:90%}
.choice-panel{margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:18px;background:white}
.choice-panel h4{font-size:1.05rem;margin:4px 0 14px}
.return-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.return-choice{border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:12px;cursor:pointer;font-weight:750;color:var(--ink);transition:.18s}
.return-choice:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.return-choice.right-choice{background:#e4f2e8;border-color:#9fc9ad;color:var(--green)}
.return-choice.wrong-choice{background:#f8e5e0;border-color:#dfada2;animation:shake .38s ease}

/* Feeding the Five Thousand — reaction/serving game */
.loaves-game{position:relative;min-height:430px;border-radius:22px;overflow:hidden;background:linear-gradient(#b9e3df 0 43%,#8fbc7c 43%)}
.grass-hill{position:absolute;left:-5%;right:-5%;bottom:-35px;height:220px;border-radius:50% 50% 0 0/35% 35% 0 0;background:#7faa70}
.bread-table{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:4;background:#d8b77e;border:5px solid #a77d50;border-radius:18px;padding:10px 16px;font-size:1.7rem;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.crowd-grid{position:absolute;inset:18px 18px 75px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:12px;z-index:5}
.crowd-group{position:relative;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.58);border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.18s;backdrop-filter:blur(3px)}
.crowd-group>span{font-size:1.6rem}.crowd-group small{font-size:.58rem;font-weight:850;color:var(--ink)}
.crowd-group.active-crowd{background:#fff2b8;box-shadow:0 0 0 5px rgba(246,217,103,.25),0 0 28px rgba(246,217,103,.75);transform:scale(1.05);animation:crowdPulse .7s ease-in-out infinite alternate}
.crowd-group.fed-group{background:#e4f2e8;border-color:#a6cfb3;opacity:.74}
.crowd-group.fed-group::after{content:'✓';position:absolute;color:var(--green);font-weight:950;font-size:1rem}
.crowd-group.early-click{background:#f7dfd9;animation:shake .35s ease}
.basket-stack{position:absolute;left:14px;right:14px;bottom:12px;display:flex;gap:3px;justify-content:center;z-index:7;min-height:42px}
.mini-basket{font-size:1.35rem;animation:basketPop .35s ease}
.loaves-actions{display:flex;justify-content:center;margin-top:14px}
.meal-complete .crowd-group{animation:mealBounce .55s ease}
@keyframes crowdPulse{from{transform:scale(1.02)}to{transform:scale(1.08)}}
@keyframes basketPop{0%{transform:translateY(-18px) scale(.4);opacity:0}70%{transform:translateY(2px) scale(1.15)}100%{transform:none;opacity:1}}
@keyframes mealBounce{50%{transform:translateY(-6px)}}

@media(max-width:680px){
  .return-choices{grid-template-columns:1fr}
  .return-game{height:320px}
  .loaves-game{min-height:470px}
  .crowd-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);inset:14px 14px 70px}
  .crowd-group>span{font-size:1.35rem}
}
