@charset "UTF-8";
:root{--paper:#f4f4ed;--ink:#2b5551;--accent:#427570;--accent-hover:#386a65;--brand:#6b968f;--mint:#e4eeea;--sand:#e9dfd0;--seafoam:#d6e5df;--heading:clamp(34px,4.3vw,64px);--gutter:clamp(20px,4vw,64px);--ease:cubic-bezier(0.2,0,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'General Sans',sans-serif;font-size:18px;line-height:1.55}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:5px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}p{text-wrap:pretty}img{display:block;max-width:100%;height:auto}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-size:18px;font-weight:500;line-height:1.3;text-align:center;transition:background-color 150ms var(--ease),scale 150ms var(--ease)}.button:hover{background:var(--accent-hover)}.button:active{scale:.96}.text-link{display:table;min-height:48px;padding-block:12px;text-decoration:underline;text-underline-offset:5px;transition:color 150ms var(--ease)}.text-link:hover{color:var(--accent-hover)}.skip-link{position:fixed;top:12px;left:20px;z-index:100;padding:12px 20px;background:var(--ink);color:var(--paper);translate:0 -180%}.skip-link:focus{translate:0 0}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px var(--gutter);min-height:104px}.brand{width:200px;flex-shrink:0}.brand img,.footer img{aspect-ratio:2.5;object-fit:contain;filter:none}.site-header nav{display:flex;gap:36px}.site-header nav a{display:flex;align-items:center;min-height:48px;font-size:18px;font-weight:500;transition:color 150ms var(--ease)}.site-header nav a:hover{color:var(--accent-hover)}
.hero-intro{text-align:center;padding:20px var(--gutter) 36px}.hero-intro h1{font-size:clamp(54px,7vw,106px);line-height:.95;letter-spacing:-.055em}.hero-intro p{font-size:18px;margin-top:20px}.hero-action{margin-top:20px;min-width:266px;font-size:18px}.hero-landscape{width:100%;overflow:hidden}.hero-landscape img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.games{background:var(--mint)}.section-intro{max-width:1568px;margin-inline:auto;padding:68px var(--gutter) 52px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}.section-intro h2{font-size:var(--heading);max-width:19ch}.section-intro p{font-size:18px;max-width:35ch;justify-self:end}.game-section{padding:36px var(--gutter) 86px;scroll-margin-top:20px}.game-section>*{max-width:1440px;margin-inline:auto}.game-cover{position:relative;overflow:hidden}.game-cover .cover-art{width:100%;height:auto;object-fit:contain}.game-logo{position:absolute;left:4%;top:50%;translate:0 -50%;width:25%;max-height:80%;object-fit:contain}.game-details{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start;padding-top:42px}.game-copy h2{font-size:var(--heading)}.release-tag{display:inline-flex;align-items:center;margin-top:16px;padding:6px 16px;border-radius:999px;background:var(--sand);color:var(--ink);font-size:15px;font-weight:500;line-height:1.5}.game-lead{font-size:clamp(23px,2.2vw,32px);line-height:1.25;letter-spacing:-.025em;margin-top:26px}.game-copy p:not(.release):not(.game-lead){margin-top:20px;max-width:48ch}.game-copy>.button{margin-top:26px}.store-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.store-links .button{font-size:18px;padding:13px 20px}.trailer{display:flex;align-items:center;gap:10px;margin-top:12px}.trailer svg{translate:2px 0}.screenshot-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:6px}.image-button{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.image-button img{width:100%;height:100%;object-fit:cover;transition:transform 400ms var(--ease)}.image-button:hover img{transform:scale(1.025)}.image-button:focus-visible{outline-offset:5px}.ila{background:var(--paper);padding-top:72px}.ila .release-tag{background:var(--seafoam)}.lua{background:var(--seafoam);padding-top:72px}.lua .release-tag{background:var(--paper)}
.studio{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);padding:100px var(--gutter);align-items:center;max-width:1568px;margin-inline:auto}.studio-art img{width:100%;height:auto}.studio h2{font-size:var(--heading);max-width:16ch}.studio-copy p{margin-top:24px;max-width:45ch}.studio-copy .text-link{margin-top:14px}.contact{background:var(--mint);padding:86px var(--gutter) 44px}.contact-top,.contact-bottom{max-width:1440px;margin-inline:auto}.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact h2{font-size:var(--heading);max-width:16ch}.contact-top p{max-width:42ch}.contact .button{margin-top:24px}.email{display:block;max-width:1440px;margin-inline:auto;font-size:clamp(29px,7vw,106px);line-height:1.15;font-weight:500;letter-spacing:-.05em;padding:72px 0;overflow-wrap:anywhere;transition:color 150ms var(--ease)}.email:hover{color:var(--accent-hover)}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:36px}.contact-bottom p{max-width:42ch;font-size:18px}.social-links{display:flex;gap:26px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;min-height:48px;font-size:18px}.social-links a:hover{text-decoration:underline;text-underline-offset:5px}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:32px var(--gutter);font-size:15px}.footer img{width:160px}.footer>div{display:flex;gap:24px}.footer>div a{display:flex;align-items:center;min-height:48px}.footer a:hover{text-decoration:underline;text-underline-offset:5px}
.lightbox{position:fixed;width:1440px;max-width:calc(100vw - 40px);max-height:calc(100svh - 40px);padding:56px 18px 16px;overflow:auto;border:0;border-radius:16px;background:var(--paper);color:var(--ink)}.lightbox::backdrop{background:rgb(18 25 12/.8)}.dialog-close{position:absolute;right:12px;top:4px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:transparent;color:inherit;border-radius:50%}.dialog-close:hover{background:var(--seafoam)}.lightbox-stage{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:14px}.lightbox-stage>img{width:100%;height:auto;max-height:calc(100svh - 180px);object-fit:contain}.gallery-arrow{display:flex;align-items:center;justify-content:center;width:56px;height:56px;min-width:48px;min-height:48px;padding:0;border:0;border-radius:50%;background:var(--ink);color:var(--paper);transition:background-color 150ms var(--ease),scale 150ms var(--ease)}.gallery-arrow:hover{background:var(--accent-hover)}.gallery-arrow:active{scale:.96}.dialog-caption{font-size:15px;line-height:1.4;text-align:center;margin-top:16px}
.reveal{opacity:1;transform:none}.js-motion .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}.js-motion .reveal{transition:opacity 600ms var(--ease),transform 600ms var(--ease)}.hero-intro h1{animation:arrival 650ms var(--ease) both}.hero-intro p{animation:arrival 650ms 80ms var(--ease) both}.hero-action{animation:arrival 650ms 160ms var(--ease) both}.hero-landscape{animation:arrival 800ms 160ms var(--ease) both}@keyframes arrival{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-intro{padding-top:28px;padding-bottom:42px}.hero-landscape img{max-height:none}}
@media(max-width:1050px){.site-header nav{gap:28px}.brand{width:170px}.hero-intro{padding-top:24px}.hero-intro h1{font-size:8.5vw}.hero-intro p{font-size:18px}.section-intro{gap:32px}.section-intro p{font-size:18px}.game-details{gap:32px}.screenshot-strip{grid-template-columns:1fr}.image-button{aspect-ratio:16/9}.studio{gap:36px}.contact-top{gap:36px}.footer{flex-wrap:wrap}.footer>div{margin-left:auto}}
@media(max-width:760px){.site-header{padding:14px var(--gutter);min-height:88px}.brand{width:136px}.site-header nav{gap:18px}.site-header nav a{font-size:15px}.hero-intro{padding-top:20px;padding-bottom:28px}.hero-intro h1{font-size:clamp(46px,9.5vw,72px);letter-spacing:-.055em}.hero-intro p{font-size:18px;max-width:30ch;margin:18px auto 0}.hero-action{min-width:228px;min-height:52px;font-size:18px;margin-top:22px}.hero-landscape img{aspect-ratio:16/9}.section-intro{display:block;padding-top:46px;padding-bottom:22px}.section-intro h2{font-size:var(--heading);max-width:19ch}.section-intro p{font-size:18px;margin-top:20px;max-width:35ch}.game-section{padding:24px var(--gutter) 58px}.game-details{display:flex;flex-direction:column;gap:28px;padding-top:28px}.game-copy h2{font-size:var(--heading)}.game-logo{width:28%;max-height:80%}.release-tag{margin-top:12px;font-size:15px}.game-lead{font-size:24px;margin-top:24px}.game-copy p:not(.release):not(.game-lead){margin-top:16px}.game-copy>.button{margin-top:22px}.store-links{gap:10px;margin-top:24px}.store-links .button{font-size:15px}.screenshot-strip{width:100%;grid-template-columns:1fr 1fr;gap:12px;padding-top:0}.image-button{aspect-ratio:4/3}.ila,.lua{padding-top:46px}.studio{display:flex;flex-direction:column-reverse;gap:40px;padding:60px var(--gutter);align-items:stretch}.studio h2{font-size:var(--heading);max-width:16ch}.studio-copy p{margin-top:22px}.studio-art{max-width:600px;align-self:center}.contact{padding:56px var(--gutter) 28px}.contact-top{display:block}.contact h2{font-size:var(--heading);max-width:16ch}.contact-top p{margin-top:24px}.email{font-size:clamp(28px,7vw,50px);padding:46px 0}.contact-bottom{display:block}.contact-bottom p{font-size:18px}.social-links{margin-top:18px;gap:24px}.social-links a{font-size:18px}.footer{display:grid;grid-template-columns:1fr;gap:12px;padding:24px var(--gutter)}.footer img{width:140px}.footer>div{margin:0;gap:22px}.lightbox{max-width:calc(100vw - 16px);padding:52px 8px 14px;border-radius:12px}.lightbox-stage{display:block;position:relative}.lightbox-stage>img{width:100%;max-height:calc(100svh - 150px)}.gallery-arrow{position:absolute;top:50%;translate:0 -50%;z-index:1;width:48px;height:48px}.gallery-previous{left:4px}.gallery-next{right:4px}.gallery-arrow svg{width:22px;height:22px}.dialog-caption{font-size:15px;margin-top:12px}}
@media(max-width:400px){.site-header nav{gap:14px}.site-header nav a{font-size:15px}.brand{width:122px}.store-links{display:grid;grid-template-columns:1fr 1fr}.store-links .button{padding-inline:12px;font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal:not(.is-visible){opacity:1;transform:none}.button:active,.gallery-arrow:active{scale:1}.image-button:hover img{transform:none}}

/* Keep mobile supporting copy on the same left edge as its heading. */
@media(max-width:760px){.section-intro p{justify-self:start;margin-inline:0}}

/* Align the opening type and navigation with the selected visual target. */
.site-header{position:absolute;inset:0 0 auto;z-index:2;padding-block:16px}.brand{width:220px}.hero-intro{padding-top:100px;padding-bottom:24px}.hero-intro h1{font-size:clamp(54px,6.65vw,100px);line-height:.95}.hero-intro p{font-size:22px}
@media(max-width:1050px){.brand{width:170px}.hero-intro h1{font-size:8.5vw}.hero-intro p{font-size:20px}}
@media(max-width:760px){.site-header{padding-block:14px}.brand{width:136px}.hero-intro{padding-top:108px;padding-bottom:28px}.hero-intro h1{font-size:clamp(46px,9.5vw,72px)}.hero-intro p{font-size:18px}}
@media(max-width:400px){.brand{width:122px}}

/* Original studio marks and colours from the press kit. */
.brand img,.footer img{aspect-ratio:auto;object-fit:contain;filter:none}.brand{width:184px}.footer img{width:150px}
.button,.gallery-arrow,.skip-link{background:var(--accent)}.button:hover,.gallery-arrow:hover{background:var(--accent-hover)}
.site-header nav{align-items:center;gap:28px}.site-header nav .nav-join{min-height:48px;padding:12px 24px;color:var(--paper);font-size:18px}.site-header nav .nav-join:hover{color:var(--paper)}
.button{gap:11px}.store-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1)}.store-links .button{justify-content:flex-start}.presskit-link{margin-top:8px}.weavercraft{padding-top:60px}
.newsletter{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,80px);align-items:center;padding:86px var(--gutter);background:var(--paper)}.newsletter-copy{max-width:560px}.newsletter h2{font-size:var(--heading);max-width:14ch}.newsletter-copy p{margin-top:24px;max-width:42ch}.newsletter-copy p:last-child{font-size:15px}.newsletter-embed{min-width:0}.newsletter-frame{display:block;width:100%;height:600px;border:0;border-radius:16px;background:var(--seafoam)}.newsletter-embed .text-link{font-size:15px;margin-top:8px}
.legal-page{max-width:900px;margin:0 auto;padding:48px var(--gutter) 80px}.legal-page h1{font-size:clamp(38px,5vw,64px);margin:32px 0}.legal-page h2{font-size:28px;margin-top:32px}.legal-page p,.legal-page ul,.legal-page ol{margin-top:20px}.legal-page a{text-decoration:underline;text-underline-offset:4px}.legal-page li{margin-top:8px}
@media(max-width:1050px){.site-header nav{gap:20px}.brand{width:160px}}
@media(max-width:760px){.site-header{gap:16px}.brand{width:120px}.site-header nav{gap:16px}.site-header nav a[href="#studio"],.site-header nav a[href="#contact"]{display:none}.site-header nav .nav-join{font-size:16px;padding:11px 20px}.newsletter{display:block;padding:56px var(--gutter)}.newsletter-copy{margin-bottom:30px}.newsletter h2{font-size:34px}.newsletter-frame{height:620px}.weavercraft{padding-top:28px}.store-links .button{min-height:52px}.store-links{display:flex;flex-wrap:wrap}.store-links .button{font-size:15px;padding:13px 17px}}
