@charset "UTF-8";
@font-face{font-family:Economica;src:url("assets/fonts/economica-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Economica;src:url("assets/fonts/economica-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Roboto;src:url("assets/fonts/roboto-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Roboto;src:url("assets/fonts/roboto-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
:root{color-scheme:dark;--background:#141b18;--surface:#1c2620;--ink:#eeeade;--muted:#bcc3b7;--gold:#c6ae78;--line:#39453c;--link-line:#93815b;--control-border:#9b8a60;--hover:#28342c;--heading:Economica,"Arial Narrow",sans-serif;--body:Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--background);color:var(--ink);font:400 16px/1.75 var(--body);-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--background)}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:#e2c88f}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
button{font:inherit}
img,video{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--heading);font-weight:400;line-height:1.04}
h1{font-size:clamp(64px,7vw,94px)}
h2{font-size:42px}
h3{font-size:clamp(52px,5.2vw,72px)}
p+p{margin-top:16px}
.shell{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--surface);padding:10px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:25px;border-bottom:1px solid var(--line)}
.wordmark{display:inline-flex;align-items:center;gap:13px;font:400 36px/1 var(--heading);text-decoration:none}
.wordmark img{width:64px;height:59px;object-fit:contain}
nav{display:flex;gap:30px}
nav a{font-size:14px;text-decoration:none;padding-block:8px}
nav a:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:0.8fr 1.65fr;align-items:center;gap:0;padding-block:72px 78px;min-height:610px}
.hero-copy{position:relative;z-index:1}
.small-heading{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:25px}
.hero-copy>p:not(.small-heading){max-width:315px;margin-top:25px;color:var(--muted);font-size:16px}
.hero-copy .text-link{display:inline-block;margin-top:24px}
.hero-art{width:100%;max-width:none;margin-left:20px}.hero-art img{width:100%}
.hero-art figcaption a{text-decoration:none}
.hero-art figcaption a:hover{text-decoration:underline}
.text-link{font-size:14px;text-decoration:underline;text-decoration-color:var(--link-line)}
.text-link>span:last-child{margin-left:6px}
.games-index{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:19px}
.games-index h2{font-size:30px;white-space:nowrap}
.games-index nav{gap:27px}
.games-index nav a{font-size:13px;color:var(--muted)}
.project{padding-block:76px;border-bottom:1px solid var(--line)}
.project-status{color:var(--gold);font-size:13px;margin-bottom:17px}
.project-copy>p:not(.project-status){color:var(--muted)}
.project-copy h3+p{margin-top:25px}
.tower{display:grid;grid-template-columns:.9fr 1.5fr;gap:70px;align-items:center}
.tower .project-copy{max-width:355px}
.store-link{display:inline-flex;align-items:center;gap:24px;border:1px solid var(--control-border);padding:12px 18px;margin-top:27px;color:var(--ink);font-size:14px;text-decoration:none}
.store-link:hover{background:var(--hover);color:var(--gold)}
.tower-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tower-gallery a{display:block}
figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:12px}
[data-lightbox]{cursor:zoom-in}
[data-lightbox]:hover img{opacity:.93}
.reflections-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start;margin-bottom:38px}
.reflections-intro .project-copy{padding-top:32px}
.demo-note{color:var(--ink)!important}
.trailer-links{display:flex;gap:27px;flex-wrap:wrap;margin-top:24px}
.play-symbol{font-size:23px;line-height:1;vertical-align:-2px;margin-right:5px}
.reflections-figure{display:grid;grid-template-columns:1fr;gap:14px}
.reflections-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.reflections-thumbnails img{width:100%;height:auto}
.reflections-figure>a>img{width:100%}.reflections-figure figcaption{margin-top:0}
.spirit{padding-top:76px}
.spirit-intro{display:grid;grid-template-columns:.9fr 1.3fr;gap:60px;align-items:center}
.spirit-intro .project-copy{max-width:375px}
.garden-art{width:100%}
.animation-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:960px;margin:34px auto 0}
.animation-study{min-width:0}
.animation-study>a>img{width:100%}
.motion-frame{position:relative}
.motion-image{display:block}
.motion-image img{width:100%;height:auto}
.motion-toggle{position:absolute;bottom:3px;right:3px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:#fff;cursor:pointer;opacity:.65;z-index:1}
.motion-toggle::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#1c2b25dd}
.motion-toggle svg{position:relative;width:16px;height:16px;fill:currentColor}
.motion-toggle[hidden]{display:none}
.motion-toggle .motion-pause{display:none}
.motion-frame[data-playing="true"] .motion-play{display:none}
.motion-frame[data-playing="true"] .motion-pause{display:block}
.motion-toggle:hover,.motion-toggle:focus-visible{opacity:1}
.about{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;padding-block:76px}
.about-copy h2{margin-bottom:25px}
.about-copy p{color:var(--muted)}
.art-study img{width:100%}
.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:75px 1fr auto;gap:25px;align-items:center;padding-block:48px}
.contact>img{width:65px}
.contact h2{font-size:36px;margin-bottom:12px}
.contact-email{font-size:17px;text-decoration-color:var(--link-line)}
.social-links{display:flex;gap:25px;font-size:13px}
.social-links a{text-decoration:none;padding-block:10px}
.social-links a:hover{text-decoration:underline}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:24px 30px;color:var(--muted);font-size:11px}
.site-footer a{text-decoration:none}
.site-footer>a:first-child{font:400 25px/1 var(--heading);color:var(--ink)}
.media-dialog{padding:20px;background:var(--surface);color:var(--ink);border:1px solid var(--line);width:min(1080px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.media-dialog::backdrop{background:#080d0aeb}
.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.dialog-header h2{font:400 16px/1.5 var(--body)}
.dialog-close{display:flex;align-items:center;gap:15px;flex-shrink:0;border:1px solid var(--control-border);background:transparent;color:var(--ink);padding:8px 14px;cursor:pointer;font-size:14px}
.dialog-close:hover{background:var(--hover);color:var(--gold)}
.dialog-close span{font-size:24px;line-height:1}
#media-content iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
#media-content>img{max-height:73dvh;width:auto;margin-inline:auto;object-fit:contain}
.video-fallback{font-size:13px;margin-top:14px;text-align:right}
body:has(.media-dialog[open]){overflow:hidden}
@media(min-width:1450px){.hero{min-height:650px}}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.hero{grid-template-columns:1fr 1.7fr;min-height:530px}.hero-art{margin-left:8px}.tower{gap:40px;grid-template-columns:1fr 1.4fr}.reflections-intro{gap:50px}.reflections-intro .project-copy{padding-top:12px}.spirit-intro{gap:35px}.about{gap:40px}.contact{grid-template-columns:60px 1fr auto;gap:15px}.social-links{gap:15px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.site-header{padding-block:22px}.wordmark{font-size:30px;gap:8px}.wordmark img{width:46px;height:42px}nav{gap:22px}.hero{grid-template-columns:1fr;padding-block:44px;gap:24px;min-height:0}.hero-copy{max-width:520px}.hero h1{font-size:70px}.hero h1 br{display:none}.hero h1 br:after{content:" "}.small-heading{margin-bottom:17px}.hero-copy>p:not(.small-heading){max-width:450px;margin-top:22px}.hero-copy .text-link{margin-top:18px}.hero-art{margin:0;width:100%}.games-index{display:block;padding-block:18px}.games-index nav{gap:22px;flex-wrap:wrap;margin-top:9px}.games-index nav a{font-size:12px;padding-block:4px}.project{padding-block:48px}.tower{grid-template-columns:1fr;gap:32px}.tower .project-copy{max-width:520px}h3{font-size:56px}.project-copy h3+p{margin-top:20px}.store-link{margin-top:24px}.tower-gallery{gap:12px}.tower-figure{width:100%;max-width:560px;justify-self:center}.reflections-intro{grid-template-columns:1fr;gap:24px;margin-bottom:29px}.reflections-intro .project-copy{padding:0;max-width:560px}.reflections-figure{grid-template-columns:1fr;gap:10px}.reflections-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.spirit-intro{grid-template-columns:1fr;gap:12px}.spirit-intro .project-copy{max-width:530px}.garden-art{max-width:540px;justify-self:center}.animation-gallery{gap:20px;margin-top:26px}.about{grid-template-columns:1fr;gap:25px;padding-block:48px}.about-copy{order:-1;max-width:550px}.about-copy h2{margin-bottom:20px}.art-study{max-width:540px}.contact{grid-template-columns:52px 1fr;padding-block:35px;gap:18px}.contact>img{width:50px}.social-links{grid-column:2;gap:24px}.contact-email{font-size:16px}.site-footer{flex-wrap:wrap;gap:14px}.site-footer p{order:3;flex-basis:100%;margin:0}.media-dialog{padding:14px}.dialog-header h2{font-size:14px}}
@media(max-width:460px){.site-header nav{gap:17px}.site-header nav a{font-size:12px}.wordmark{font-size:27px}.wordmark img{width:36px;height:33px}.hero{padding-top:37px;gap:30px}.hero h1{font-size:62px}.hero h1 br{display:block}.hero-copy>p:not(.small-heading){font-size:15px}.games-index nav{gap:8px 19px}.games-index h2{font-size:28px}.tower-gallery{gap:8px}.project-copy{font-size:15px}.trailer-links{gap:14px 23px}.trailer-links .text-link{font-size:13px}.reflections-thumbnails{gap:7px}.animation-gallery{grid-template-columns:1fr;gap:24px;max-width:440px}.about-copy{font-size:15px}.contact{gap:13px}.social-links{gap:22px}.dialog-header{align-items:start}.dialog-close{padding:6px 9px;gap:8px}.media-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
