@font-face{font-family:Adventure;src:url('/assets/fonts/Nunito-VariableFont_wght.woff2') format('woff2');font-weight:200 1000;font-display:swap}
.game-landing{--bg:#fbf3de;--surface:#fff9e9;--ink:#273a29;--muted:#52604b;--accent:#8c451d;--line:#dbc9a1;color:var(--ink);background:var(--bg);font-family:Adventure,system-ui,sans-serif;line-height:1.65;color-scheme:light}
.game-landing .wrap{max-width:1240px;padding:0 30px}.game-landing header{padding:18px 0;border:0}.game-landing .brand{font-weight:950}.game-landing .brand img{border:2px solid #604520;border-radius:8px}.game-landing a{color:#365f35}.game-landing a:hover{color:#9d4d20}.game-landing h1,.game-landing h2,.game-landing h3{font-weight:950;letter-spacing:-.04em}.game-landing .eyebrow{color:#895021;letter-spacing:.14em}.game-landing .hero{display:block;padding:0;border:0}.game-landing .family-key-art{margin:0 -30px;border:5px solid #31452b;box-shadow:0 7px 0 #b99960;overflow:hidden;border-radius:14px 14px 4px 4px}.game-landing .family-key-art img{border-radius:0;width:100%;height:auto;display:block}.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:48px 12px 12px;align-items:center}.game-landing h1{font-size:clamp(2.5rem,4.6vw,4.1rem);margin:10px 0 20px}.game-landing h1 span{color:#8b471f}.game-landing .lead{font-size:1.15rem;color:var(--muted)}.game-landing .store-downloads{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0 10px}.game-landing .store-downloads a{display:inline-flex;transition:transform .18s}.game-landing .store-downloads a:hover{transform:translateY(-3px)}.game-landing .store-downloads img{height:48px;width:auto;max-width:100%;object-fit:contain}.text-link{font-weight:850}.game-landing .pills{justify-content:center;margin:28px 0 48px;gap:10px}.game-landing .pills span{background:#e5ead1;color:#3a5536;border:1px solid #c4cfaa;border-radius:5px;font-weight:800;padding:7px 15px}.game-landing main section{padding:64px 0;border-color:var(--line)}.game-landing .product-trailer{text-align:center}.game-landing .product-trailer .lead{margin:0 auto 25px}.game-landing .product-video-frame{max-width:900px;margin:auto;border:7px solid #503c27;border-radius:5px;box-shadow:0 7px 0 #d0b17a;overflow:hidden;background:#243727}.game-landing .video-related-links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:.86rem}.game-landing .grid{gap:22px}.game-landing .grid article{background:#fff9e9;border:2px solid #d8c59d;border-top:7px solid #6e8a42;border-radius:4px;padding:28px;box-shadow:0 5px 0 #e5d6b8}.game-landing .grid article:nth-child(2){border-top-color:#c38b43}.game-landing .grid article:nth-child(3){border-top-color:#867eaa}.terrain-icon{height:58px;display:flex;align-items:end;color:#536d39;font-size:60px;line-height:1}.blocks{gap:3px}.blocks i{display:block;width:27px;height:27px;background:#a66b36;border-top:8px solid #7a9e4b;box-shadow:inset -5px -5px #80512c}.blocks i:nth-child(2){margin-bottom:16px}.blocks i:nth-child(3){margin-bottom:32px}.moon-icon{color:#77709b}.game-landing figure{background:#eadcbb;padding:12px;border:2px solid #c6ae7d;border-radius:4px}.game-landing .screenshot{border:0;border-radius:0}.game-landing figcaption{padding:0 6px}.game-landing .meet{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.meet-copy p{max-width:44ch}.character-scene{position:relative;min-height:450px;overflow:hidden;background:linear-gradient(#e69d70,#f6d796 65%,#b8c786);border:4px solid #4e6138;border-radius:6px;isolation:isolate;box-shadow:0 7px 0 #d1b37d}.scene-sun{width:90px;height:90px;background:#ffe6a3;position:absolute;top:38px;right:60px;box-shadow:0 0 0 15px #ffdf9938;clip-path:polygon(15% 0,85% 0,85% 15%,100% 15%,100% 85%,85% 85%,85% 100%,15% 100%,15% 85%,0 85%,0 15%,15% 15%)}.scene-cloud{position:absolute;width:100px;height:19px;background:#fff2cd8c;box-shadow:22px -17px #fff2cd8c;top:65px;left:25px;animation:cloud-drift 12s ease-in-out infinite alternate}.cloud-two{top:140px;left:260px;width:70px;animation-delay:-6s}.scene-hills{position:absolute;inset:42% -10% 0;background:#7d9d54;clip-path:polygon(0 35%,15% 35%,15% 15%,30% 15%,30% 45%,50% 45%,50% 25%,68% 25%,68% 0,85% 0,85% 30%,100% 30%,100% 100%,0 100%)}.hero-character{position:absolute;bottom:60px;width:40%;height:280px;z-index:2;transform-origin:bottom center}.hero-character img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(4px 5px 0 #20382133);animation:character-idle 4s ease-in-out infinite}.leo-character{left:8%}.ian-character{right:7%}.ian-character img{animation-delay:-2s}.hero-character span{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);background:#fff4d4;color:#36432c;border:2px solid #6c5735;font-size:.8rem;font-weight:950;padding:0 15px;box-shadow:2px 3px #684c2b}.scene-ground{position:absolute;bottom:0;height:64px;left:0;right:0;border-top:12px solid #618a38;background:repeating-linear-gradient(90deg,transparent 0 38px,#70462044 38px 42px),repeating-linear-gradient(0deg,#9a6536 0 25px,#865429 25px 28px);z-index:1}.jump-button,.motion-button{font:inherit;cursor:pointer;min-height:44px;border-radius:4px;padding:10px 16px;margin:12px 8px 0 0}.jump-button{background:#456738;color:#fff4d1;border:2px solid #243c24;box-shadow:0 4px #243c24;font-weight:900}.motion-button{border:1px solid #b9a77d;background:transparent;color:#43553a;font-size:.86rem}.game-landing button:focus-visible{outline:3px solid #9b5227;outline-offset:5px}.jumping .hero-character{animation:hero-jump .65s ease-out}.jumping .ian-character{animation-delay:.12s}.motion-paused .character-scene *{animation-play-state:paused!important}.game-landing .story{background:#e4e9cf;padding:40px;border:2px solid #bdc9a0;box-shadow:0 6px #d1dab8}.game-landing .questions{max-width:900px}.game-landing summary{font-weight:850}.game-landing .closing{border:2px solid #49633a;border-top:9px solid #6a8a45;background:#e5ead1;box-shadow:0 6px #ced8b7;border-radius:5px}.game-landing .closing>img{width:100px;height:100px;border-radius:8px}.game-landing footer{flex-wrap:wrap}.game-landing .portfolio-return{background:#e8dcc1}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.game-landing .skip:focus{background:#fff6dd;color:#263b26;z-index:20}@keyframes character-idle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes cloud-drift{to{transform:translateX(30px)}}@keyframes hero-jump{0%,100%{transform:translateY(0)}45%{transform:translateY(-60px) rotate(-4deg)}}@media(max-width:800px){.hero-copy,.game-landing .meet{grid-template-columns:1fr;gap:20px}.hero-copy{padding-top:30px}.game-landing .meet{gap:25px}.character-scene{max-width:550px;width:100%;justify-self:center}.game-landing .story{padding:26px}.game-landing main section{padding:40px 0}}@media(max-width:520px){.game-landing .wrap{padding:0 20px}.game-landing header{flex-direction:row;align-items:center;gap:12px}.game-landing header nav{font-size:.8rem;gap:10px}.game-landing .brand{font-size:.8rem;gap:8px}.game-landing .brand img{width:36px;height:36px}.game-landing .family-key-art{margin:0 -20px;border-left:0;border-right:0;border-radius:0}.hero-copy{padding:28px 0 0}.game-landing h1{font-size:2.5rem}.game-landing .pills{gap:6px}.game-landing .pills span{font-size:.7rem;padding:5px 9px}.character-scene{min-height:365px}.hero-character{height:230px}.game-landing .store-downloads{gap:9px}.game-landing .store-downloads img{height:43px}.game-landing .closing{padding:22px}}@media(prefers-reduced-motion:reduce){.game-landing *{animation:none!important;transition:none!important}.motion-button{display:none}}

/* Keep consent independent of content-section spacing. */
.game-landing .analytics-consent-banner{padding:18px;max-height:calc(100dvh - 32px);overflow:auto;text-align:left}
.game-landing .analytics-consent-actions{flex-wrap:wrap}
.game-landing .analytics-consent-button{flex:1 1 140px;min-width:0}
.game-landing main .closing{padding:36px;gap:28px}
@media(max-width:520px){.game-landing main .closing{padding:24px}.game-landing .analytics-consent-banner{padding:16px}}

/* Game characters keep their source artwork; motion is presentation only. */
.critter-trail{height:190px;position:relative;overflow:hidden;margin:20px 0 48px;border-bottom:5px solid #608142;background:linear-gradient(transparent 60%,#e4e9cf 60%)}
.trail-ground{position:absolute;bottom:0;left:0;right:0;height:20px;background:repeating-linear-gradient(90deg,#a87543 0 35px,#98633b 35px 39px);border-top:7px solid #7c9b49}
.zombie-patrol{position:absolute;bottom:20px;left:4%;width:72px;height:115px;animation:zombie-patrol 18s linear infinite;transform-origin:center bottom}
.zombie-patrol img{height:100%;width:100%;object-fit:contain;animation:zombie-step .6s ease-in-out infinite alternate;transform-origin:center bottom}
.cat-circle{position:absolute;bottom:22px;right:15%;width:86px;height:86px;animation:cat-circle 20s linear infinite;transform-origin:center bottom}
.cat-pose{width:100%;height:100%;background:url('assets/guide-cat-sheet.png') 0 0/300% 100% no-repeat;animation:cat-poses 20s steps(1,end) infinite;transform-origin:center bottom}
.sleep-bubbles{position:absolute;right:0;top:6px;font:900 14px Adventure, sans-serif;color:#67533c;letter-spacing:5px;animation:cat-sleep 20s linear infinite;opacity:0}
.motion-paused .critter-trail *{animation-play-state:paused!important}
@keyframes zombie-patrol{0%{left:4%;transform:scaleX(1)}49.9%{left:52%;transform:scaleX(1)}50%{left:52%;transform:scaleX(-1)}99.9%{left:4%;transform:scaleX(-1)}100%{left:4%;transform:scaleX(1)}}
@keyframes zombie-step{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-4px) rotate(2deg)}}
@keyframes cat-circle{0%{transform:translate(-38px,0) scaleX(1)}11%{transform:translate(0,-14px) scaleX(1)}22%{transform:translate(38px,0) scaleX(1)}22.1%{transform:translate(38px,0) scaleX(-1)}33%{transform:translate(0,14px) scaleX(-1)}44%{transform:translate(-38px,0) scaleX(-1)}46%,100%{transform:translate(-38px,0) scaleX(1)}}
@keyframes cat-poses{0%,6%,12%,18%,24%,30%,36%,42%{background-position:0 0;transform:translateY(0)}3%,9%,15%,21%,27%,33%,39%{background-position:100% 0;transform:translateY(-2px)}46%{background-position:0 0;transform:scaleY(.92)}50%,80%{background-position:50% 0;transform:scaleY(1)}84%{background-position:0 0;transform:scaleY(.94)}88%,100%{background-position:0 0;transform:scaleY(1)}}
@keyframes cat-sleep{0%,49%,84%,100%{opacity:0}54%,78%{opacity:1}}
@media(max-width:520px){.critter-trail{height:155px}.zombie-patrol{width:57px;height:90px}.cat-circle{right:10%;width:66px;height:66px}@keyframes zombie-patrol{0%{left:2%;transform:scaleX(1)}49.9%{left:36%;transform:scaleX(1)}50%{left:36%;transform:scaleX(-1)}99.9%{left:2%;transform:scaleX(-1)}100%{left:2%;transform:scaleX(1)}}}
@media(prefers-reduced-motion:reduce){.critter-trail *{animation:none!important}.cat-pose{background-position:50% 0}.sleep-bubbles{display:none}}

/* Place each character beside the requested content, with its own walking area. */
.game-landing .cat-trail{height:132px;margin:24px 0 0}
.game-landing .closing{align-items:center}
.game-landing .closing>div:not(.closing-zombie){flex:1;min-width:0}
.closing-zombie{position:relative;overflow:hidden;flex:0 0 220px;min-height:180px;align-self:stretch}
.closing-zombie .zombie-patrol{bottom:0;height:150px;width:100px}
.motion-paused .closing-zombie *{animation-play-state:paused!important}
@media(max-width:800px){.game-landing .closing{flex-wrap:wrap}.closing-zombie{flex-basis:170px;min-height:150px}.closing-zombie .zombie-patrol{height:130px;width:86px}}
@media(max-width:520px){.game-landing .cat-trail{height:115px}.closing-zombie{flex:none;align-self:flex-end;width:170px;height:140px;min-height:140px}.closing-zombie .zombie-patrol{height:120px;width:80px}}

.game-landing main #adventure{padding-bottom:0}

/* Approved 2026-10-28 gameplay poster gallery. */
.gameplay-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.gameplay-gallery figure{margin:0;min-width:0}.gameplay-gallery a{display:block}.gameplay-gallery img{display:block;width:100%;height:auto;border-radius:8px}.gameplay-gallery figcaption{margin-top:8px;font-weight:700}.gameplay-gallery a:focus-visible{outline:4px solid #8b4e25;outline-offset:5px}@media(max-width:720px){.gameplay-gallery{grid-template-columns:1fr}}

/* Related game action matches the woodland buttons and illustrated borders. */
.game-landing .racer-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;max-width:100%;margin:12px 0 4px;padding:12px 22px;border:2px solid #243c24;border-radius:5px;background:#456738;color:#fff4d1;text-decoration:none;font-weight:900;line-height:1.4;box-shadow:0 4px 0 #243c24;transition:background .15s,transform .15s,box-shadow .15s}
.game-landing .racer-link:hover{background:#36552b;color:#fff4d1;transform:translateY(-1px);box-shadow:0 5px 0 #243c24}
.game-landing .racer-link:active{transform:translateY(3px);box-shadow:0 1px 0 #243c24}
.game-landing .racer-link:focus-visible{outline:3px solid #895021;outline-offset:6px}
.game-landing .racer-link span{font-size:1.3em;line-height:1}
