@font-face{font-family:Space;src:url('/assets/space-grotesk-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}:root{--cream:#f1f0e8;--ink:#1d2722;--muted:#526057;--line:#c7cdc0;--yellow:#e9ce68;--green:#d5e2c5;--peach:#efad97}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Space,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible,pre:focus-visible{outline:3px solid #e0a63f;outline-offset:4px}.skip{position:absolute;top:-60px;left:1rem;background:var(--ink);color:#fff;padding:12px;z-index:10}.skip:focus{top:1rem}.wrap{width:min(1350px,calc(100% - 96px));margin-inline:auto}.site-header{height:91px;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:700;letter-spacing:-.06em}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;background:var(--ink);color:var(--cream);border-radius:50%;font-size:25px;letter-spacing:-.14em;padding-right:4px}.brand-icon span{color:var(--yellow)}nav{display:flex;align-items:center;gap:35px}nav a{text-decoration:none;font-size:14px;font-weight:600;padding:12px 0}nav a:hover,.arrow-link:hover{opacity:.65}.hero{background:var(--ink);color:#f4f3ea;display:grid;grid-template-columns:1.15fr .85fr;min-height:540px}.hero-copy{padding:40px 50px;display:flex;flex-direction:column}.eyebrow,.project-label,.index-top,.index-bottom,.footer>span,.code-header,.status{font:600 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.eyebrow{margin:0}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow);margin-right:8px}.hero h1{font-size:clamp(65px,6.4vw,93px);font-weight:600;letter-spacing:-.07em;line-height:.99;margin:75px 0 50px}.amp{color:var(--yellow)}.period{color:#dc765c}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-top:auto}.hero-bottom p{font-size:16px;line-height:1.5;max-width:265px;margin:0;color:#d6ded0}.arrow-link{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;text-decoration:none;border-bottom:1px solid currentColor;font-size:14px;font-weight:600;padding:10px 0;white-space:nowrap}.arrow-link span{font-size:19px}.hero-feature{background:#b8cba8;color:var(--ink);margin:18px 18px 18px 0;padding:25px;display:flex;flex-direction:column;overflow:hidden;text-decoration:none}.hero-feature-top,.hero-feature-caption{font:600 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.hero-feature-top{display:flex;justify-content:space-between;gap:10px}.hero-feature img{display:block;width:100%;max-width:100%;height:350px;object-fit:cover;object-position:center 46%;margin:auto;box-shadow:0 15px 35px #1d27222e;transition:transform .25s ease}.hero-feature:hover img{transform:translateY(-4px)}.hero-feature-caption{padding-top:20px}.projects{padding:115px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2,.about h2,.contact h2,.product-details h2{font-size:clamp(47px,5vw,70px);line-height:1;letter-spacing:-.065em;margin:16px 0 0}.section-heading>p{font-size:15px;line-height:1.5;color:var(--muted);margin:0}.project{min-height:460px;display:grid;grid-template-columns:40% 60%;overflow:hidden}.project+.project{margin-top:18px}.game{background:#d5e2c5}.pdf{background:#242d28;color:#f4f3ea}.project-copy{padding:30px;display:flex;flex-direction:column}.project-label{display:flex;justify-content:space-between;gap:15px}.project-title{margin:auto 0 20px}.project-title h3{font-size:clamp(47px,4.6vw,66px);line-height:1;letter-spacing:-.065em;margin:55px 0 18px}.project-title>p{font-size:17px;line-height:1.5;max-width:320px;margin:0}.project-title .project-detail{font-size:12px;font-weight:600;color:#425548;margin-top:22px}.pdf .project-detail{color:#cbd6c7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;text-decoration:none;font-size:14px;font-weight:700;padding:15px 18px;min-height:48px;margin-top:28px}.button span{font-size:18px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#3c5043}.button-light{background:var(--yellow);color:var(--ink)}.button-light:hover{background:#f7dc79}.game-image,.pdf-image{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:36px 9%}.game-image{background:#b8cba8}.game-image img{display:block;width:auto;max-width:100%;height:380px;object-fit:contain;box-shadow:0 15px 35px #1d27222e;transition:transform .25s ease}.game-image:hover img{transform:translateY(-4px)}.pdf-image{background:#e5b2a0}.code-window{background:#1d2722;color:#f4f3ea;width:min(100%,550px);padding:26px 28px;box-shadow:0 15px 35px #1d27222b;min-width:0}.code-header{display:flex;justify-content:space-between;gap:10px;color:#c8d8c6;border-bottom:1px solid #788679;padding-bottom:16px}.code-window pre{font:12px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto;margin:30px 0 8px;white-space:pre}.syntax-muted{color:#b3c4b0}.syntax-key{color:#e9ce68}.syntax-string{color:#f1b9a4}.about{border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 2fr;gap:30px;padding-top:38px;padding-bottom:115px}.about h2{margin:0}.about>div>p,.contact p:last-child{font-size:18px;line-height:1.6;max-width:540px;margin:25px 0 0}.contact{background:#e8ca6c;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end}.contact h2{margin-top:18px}.contact-links a{display:flex;justify-content:space-between;gap:25px;padding:17px 0;border-top:1px solid #91854f;text-decoration:none;font-size:15px;font-weight:700}.contact-links a:last-child{border-bottom:1px solid #91854f}.contact-links a:hover{opacity:.6}.footer{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer>span{color:var(--muted)}.product-hero{padding:30px 0 90px}.back-link{font-size:14px;font-weight:600;text-decoration:none}.back-link:hover{opacity:.65}.product-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end;padding-top:95px}.product-heading h1{font-size:clamp(70px,9vw,124px);letter-spacing:-.075em;line-height:1;margin:22px 0}.product-lede{font-size:clamp(27px,3vw,42px);letter-spacing:-.05em;line-height:1.2;margin:0}.product-side{max-width:350px}.status{background:#d5e2c5;display:inline-block;padding:9px 12px}.product-side p,.demo-grid>div:first-child>p:last-child,.product-note p{font-size:17px;line-height:1.6}.product-side .arrow-link{margin-top:12px}.demo{background:#e5b2a0;padding:75px 0}.demo-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;align-items:start}.demo-grid h2{font-size:clamp(47px,5vw,70px);line-height:1;letter-spacing:-.065em;margin:25px 0}.demo-grid>div:first-child>p:last-child{max-width:340px}.code-large{width:100%;padding:30px 34px}.code-large pre{font-size:13px}.product-details{padding:100px 0}.feature-list>div{display:grid;grid-template-columns:50px 1fr 1fr;gap:25px;border-top:1px solid var(--line);padding:25px 0}.feature-list>div:last-child{border-bottom:1px solid var(--line)}.feature-list span{font:11px ui-monospace,monospace}.feature-list h3{font-size:23px;letter-spacing:-.04em;margin:0}.feature-list p{font-size:16px;line-height:1.6;max-width:420px;margin:0}.product-note{background:#d5e2c5;margin-top:85px;padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.product-note h2{font-size:40px}.product-note>div:last-child{max-width:460px}
@media(max-width:950px){.wrap{width:calc(100% - 48px)}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:32px}.hero h1{font-size:clamp(54px,6.5vw,76px)}.hero-bottom{display:block}.hero-bottom .arrow-link{margin-top:20px}.project{grid-template-columns:1fr 1fr}.project-copy{padding:26px}.game-image,.pdf-image{padding:28px}.game-image img{height:340px}.product-heading{grid-template-columns:1fr;gap:25px;padding-top:70px}.product-side{max-width:500px}.demo-grid{gap:6%}}
@media(max-width:640px){.wrap{width:calc(100% - 32px)}.site-header{height:72px}.brand{font-size:19px}.brand-icon{width:32px;height:32px;font-size:23px}nav{gap:17px}nav a{font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px 25px 35px}.hero h1{font-size:clamp(53px,11vw,70px);margin:55px 0 40px}.hero-bottom{display:block}.hero-bottom p{font-size:15px;max-width:260px}.hero-bottom .arrow-link{margin-top:20px}.hero-feature{margin:0 12px 12px;padding:22px}.hero-feature img{height:270px;max-width:100%;width:100%;margin:25px auto 5px}.projects{padding:75px 0}.section-heading{align-items:start}.section-heading h2{font-size:49px}.section-heading>p{font-size:13px}.project{grid-template-columns:1fr}.project-copy{min-height:315px;padding:25px}.project-title h3{font-size:48px;margin:45px 0 14px}.project-title>p{font-size:16px}.project-title .project-detail{margin-top:15px}.game-image,.pdf-image{min-height:280px;padding:25px}.game-image img{height:310px;max-width:100%;width:auto}.code-window{padding:22px}.code-window pre{font-size:10px}.about{grid-template-columns:1fr;gap:30px;padding-bottom:75px}.about h2,.contact h2{font-size:49px}.about>div>p,.contact p:last-child{font-size:16px}.contact{padding:30px 25px;grid-template-columns:1fr;gap:30px}.footer{min-height:100px}.product-hero{padding:26px 0 65px}.product-heading{padding-top:65px}.product-heading h1{font-size:clamp(62px,14vw,90px)}.product-lede{font-size:29px}.demo{padding:55px 0}.demo-grid{grid-template-columns:1fr;gap:30px}.demo-grid h2{font-size:50px}.code-large{padding:22px}.code-large pre{font-size:11px}.product-details{padding:70px 0}.feature-list>div{grid-template-columns:35px 1fr;gap:10px}.feature-list h3{font-size:21px}.feature-list p{grid-column:2}.product-note{margin-top:65px;padding:25px;grid-template-columns:1fr;gap:20px}.product-note h2{font-size:36px}}
@media(max-width:360px){nav{gap:11px}.hero-bottom{display:block}.hero-bottom .arrow-link{margin-top:20px}.hero h1{font-size:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.game-image img,.hero-feature img{transition:none}}
