@font-face{font-family:Manrope;src:url('assets/fonts/Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Fredoka;src:url('assets/fonts/Fredoka.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
:root{color-scheme:light;--paper:#f6f2ea;--paper-deep:#eee7dd;--ink:#29252f;--muted:#655e6b;--copper:#ad5937;--line:#d9d1c7;--plum:#211b30;--chalk:#fff8ed;--mint:#83d7cf;--lime:#d8ef91;--lilac:#b6a1ed;--coral:#ffa38e;--body:Manrope,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--copper);outline-offset:6px}.shell{width:min(100% - 6rem,1200px);margin-inline:auto}.skip-link{position:absolute;z-index:20;top:-100px;left:1rem;background:var(--ink);color:var(--paper);padding:.75rem 1rem}.skip-link:focus{top:1rem}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.75rem;border-bottom:1px solid var(--line)}.studio-home{flex:none}.studio-home img{width:190px;height:50px;object-fit:contain}.site-header nav{display:flex;gap:2.25rem;flex-wrap:wrap}.site-header nav a{text-decoration:none;font-size:.9375rem;font-weight:650;padding-block:.5rem}.site-header nav a:hover{color:var(--copper)}
.hero{display:grid;grid-template-columns:1.06fr .94fr;gap:4rem;align-items:center;padding-block:4rem 4.5rem}.eyebrow{font-size:.8125rem;line-height:1.5;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.35rem;color:var(--copper)}h1{font-size:clamp(3.05rem,5.1vw,4.625rem);font-weight:750;letter-spacing:-.058em;line-height:1.08}h1 span{color:var(--copper)}.intro-copy{font-size:1.125rem;line-height:1.75;max-width:29rem;color:var(--muted);margin-top:1.75rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:2.25rem;min-height:3.5rem;padding:.9rem 1.3rem;border-radius:.875rem;text-decoration:none;font-weight:700;margin-top:2rem;transition:transform .18s}.button-ink{background:var(--ink);color:var(--paper)}.button:hover{transform:translateY(-2px)}.button span{font-size:1.25rem;font-weight:500}.intro-note{display:flex;align-items:center;gap:.8rem;margin-top:2.3rem;font-size:.875rem;color:var(--muted)}.short-rule{display:block;width:1.5rem;height:2px;background:var(--copper);flex:none}
.featured-app{background:var(--plum);color:var(--chalk);border-radius:2rem;padding:1.5rem 1.8rem 1.25rem;min-width:0;box-shadow:0 12px 0 #29252f0a;transform:rotate(1deg)}.feature-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.875rem;font-weight:550;color:#c6b9d0}.game-wordmark{display:flex;justify-content:center;align-items:center;padding:1.7rem 0 0;line-height:1}.game-wordmark img{width:min(100%,292px);height:auto}.piece-window{display:grid;place-items:center;height:232px;margin-block:.3rem .55rem}.feature-art{width:270px;height:auto;max-height:224px;object-fit:contain}.game-tagline{font-size:1rem;color:#c6b9d0;text-align:center;margin-bottom:1.25rem}.feature-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 .1rem;border-top:1px solid #46384f;text-decoration:none;font-size:.9375rem;font-weight:650;color:var(--mint)}.feature-link:hover{color:var(--lime)}.feature-link span{font-size:1.35rem}
.game-story{padding-block:2.25rem 4.5rem;border-top:1px solid var(--line)}.section-label{display:flex;align-items:center;gap:1rem;font-size:.8125rem;font-weight:650;color:var(--muted);margin-bottom:2.2rem}.section-label span{font-size:.75rem;letter-spacing:.08em;color:var(--copper)}h2:not(.game-wordmark){font-size:clamp(2rem,3.4vw,3.125rem);line-height:1.17;letter-spacing:-.045em;font-weight:700}.story-heading{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.story-heading>p{max-width:31rem;color:var(--muted);font-size:1.0625rem;line-height:1.8}.game-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.8rem}.game-facts>div{padding-top:1.3rem;border-top:2px solid var(--line)}h3{font-size:1.0625rem;line-height:1.45;font-weight:750;letter-spacing:-.02em}.game-facts p{color:var(--muted);font-size:1rem;line-height:1.75;margin-top:.55rem;max-width:23rem}
.about-wrap{background:var(--paper-deep);border-top:1px solid #e4dbd1;border-bottom:1px solid #e4dbd1}.about-inner{padding-block:3rem 3.5rem}.about-heading{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-heading p{font-size:1.0625rem;line-height:1.8;color:var(--muted)}.about-heading p+p{margin-top:1rem}.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}.focus-grid>div{padding-top:1.2rem;border-top:1px solid #cfc3b7}.focus-number{font-size:.75rem;color:var(--copper);letter-spacing:.06em}.focus-grid h3{margin-top:.6rem}.focus-grid p{font-size:1rem;line-height:1.7;color:var(--muted);margin-top:.4rem}
.support{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding-block:4.25rem}.support .eyebrow{margin-bottom:1rem}.support-copy p{color:var(--muted);font-size:1.0625rem;line-height:1.8;max-width:29rem}.contact-link{display:inline-flex;align-items:center;gap:1rem;font-weight:700;font-size:clamp(1rem,2vw,1.4rem);letter-spacing:-.02em;text-decoration:none;border-bottom:1px solid var(--copper);padding-block:.7rem;color:var(--copper);overflow-wrap:anywhere}.contact-link span{font-size:1.35rem;flex:none}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:1.5rem 2rem;color:var(--muted);font-size:.8125rem}.site-footer a{text-decoration:none}.footer-name{font-weight:750;color:var(--ink)}.site-footer a:hover{color:var(--copper)}
@media(min-width:1400px){.hero{gap:6rem}}@media(max-width:950px){.shell{width:calc(100% - 3.5rem)}.hero{gap:2rem}h1{font-size:clamp(2.7rem,5.2vw,3.5rem)}.featured-app{padding:1.3rem}.feature-top{font-size:.875rem}.game-wordmark{font-size:3.25rem}.story-heading,.about-heading,.support{gap:2.5rem}.game-facts{gap:1.25rem}.focus-grid{grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem}}
@media(max-width:700px){.shell{width:calc(100% - 2.5rem)}.site-header{gap:1rem;padding-block:1.25rem}.studio-home img{width:160px;height:auto}.site-header nav{gap:1rem}.site-header nav a{font-size:.875rem}.hero{grid-template-columns:1fr;padding-block:2.75rem 3rem;gap:2.75rem}h1{font-size:clamp(2.85rem,9vw,4.1rem);letter-spacing:-.05em}.intro-copy{font-size:1.0625rem;max-width:33rem}.intro-note{margin-top:1.65rem}.featured-app{max-width:30rem;width:100%;margin-inline:auto;transform:none;padding:1.5rem}.feature-top{font-size:.875rem}.game-wordmark{font-size:3.6rem}.piece-window{height:232px}.story-heading,.about-heading,.support{grid-template-columns:1fr;gap:1.5rem}.game-story{padding-block:2rem 3rem}.game-facts{grid-template-columns:1fr;gap:1.25rem;margin-top:2rem}.game-facts p{max-width:none}.section-label{margin-bottom:1.5rem}.about-inner{padding-block:2.5rem}.support{padding-block:3rem}.site-footer{gap:.8rem 1rem}.site-footer p{order:3;width:100%}}
@media(max-width:390px){.shell{width:calc(100% - 2rem)}.site-header{align-items:flex-start;flex-direction:column;gap:.65rem}.site-header nav{width:100%;justify-content:space-between}.intro-copy{font-size:1rem}.featured-app{padding:1.2rem}.feature-top{font-size:.875rem}.game-wordmark{font-size:3.15rem}.focus-grid{grid-template-columns:1fr;gap:1.3rem}.button{width:100%;justify-content:space-between}.contact-link{font-size:1.0625rem}.contact-link span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.focus-grid .coming-soon{display:inline-block;margin-top:.85rem;font-size:.875rem;font-weight:750;line-height:1.4;color:var(--copper)}
.footer-links{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}

/* Let enlarged text reflow inside narrow grid columns. */
:where(.hero,.story-heading,.about-heading,.page-section-heading,.mode-panels,.policy-grid,.support-intro,.help-layout,.legal-layout)>*{min-width:0}
h1,h2,h3,.button,.policy-action{overflow-wrap:anywhere}
