@font-face{font-family:Barlow Condensed;src:url('/assets/fonts/barlow-condensed-extralight.woff2') format('woff2');font-style:normal;font-weight:200;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--black:#101112;--charcoal:#17191a;--panel:#1c1e20;--cream:#f2efe8;--gold:#a78a50;--gold-light:#c4ab76;--muted:#b8b7b1;--line:#373837;--body:Manrope,Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--black);color:var(--cream);font:400 1rem/1.7 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.3em}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}img{display:block;max-width:100%;height:auto}button{cursor:pointer}::selection{background:var(--gold);color:var(--black)}.container{width:min(100% - 5rem,1280px);margin-inline:auto}.skip{position:fixed;left:1rem;top:-8rem;background:var(--cream);color:var(--black);z-index:100;padding:.75rem 1rem}.skip:focus{top:1rem}.header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:var(--black)}.header-inner{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:block;width:245px;flex-shrink:0}.nav{display:flex;align-items:center;gap:2.2rem}.nav a{font-size:.875rem;text-decoration:none;padding:.65rem 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--gold);color:var(--gold-light)}.menu-toggle{display:none;border:1px solid var(--line);color:var(--cream);background:none;padding:.65rem 1rem}.eyebrow{display:flex;align-items:center;gap:1rem;color:var(--gold-light);font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin:0 0 2rem}.eyebrow:before{content:'';display:block;width:34px;height:1px;background:var(--gold)}.hero{min-height:720px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:2rem;padding-block:6rem 5rem;position:relative}.hero-copy{position:relative;z-index:1}.hero h1,.display{font:200 clamp(4.5rem,8.5vw,8rem)/.94 var(--display);letter-spacing:-.015em;text-transform:uppercase;margin:0 0 2.3rem}.hero h1 span{color:var(--gold-light)}.hero-intro{max-width:460px;color:var(--muted);font-size:1.1rem;line-height:1.8;margin:0 0 2.4rem}.hero-art{align-self:center;display:grid;place-items:center;position:relative;padding:2rem 0 2rem 2rem}.hero-art:before{content:'';position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;transform:scale(.91)}.hero-art img{width:100%;position:relative;filter:drop-shadow(0 14px 30px #0004)}.hero-note{position:absolute;right:.3rem;bottom:-1.5rem;font-size:.75rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;gap:.75rem;padding:.85rem 1.5rem;border:1px solid var(--gold);text-decoration:none;font-size:.875rem;font-weight:600;background:var(--gold);color:var(--black);border-radius:0}.button:hover{background:var(--gold-light);border-color:var(--gold-light)}.button.secondary{background:transparent;color:var(--cream);border-color:var(--line)}.button.secondary:hover{border-color:var(--gold-light)}.index-line{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding:1.5rem 0;color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.section{padding-block:6rem;border-top:1px solid var(--line)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-head h2,.section-title{font:200 clamp(3rem,5.5vw,5rem)/1.02 var(--display);text-transform:uppercase;letter-spacing:.015em;margin:0}.section-head p{max-width:380px;color:var(--muted);margin:0}.text-link{font-size:.875rem;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.35rem}.text-link:hover{color:var(--gold-light)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.work-card{border:1px solid var(--line);text-decoration:none;background:var(--charcoal);transition:border-color .2s}.work-card:hover{border-color:var(--gold)}.work-art{height:255px;display:flex;align-items:center;justify-content:center;background:var(--panel);border-bottom:1px solid var(--line);overflow:hidden;position:relative}.work-art.memory{background:#20221f}.work-art.archive{background:#24211b}.work-art.learning{background:#1c2325}.work-art.game{background:#202022}.work-info{padding:1.8rem}.work-info .meta{display:flex;justify-content:space-between;gap:1rem;color:var(--gold-light);font-size:.75rem;margin-bottom:.9rem}.work-info h3{font:200 2.5rem/1.15 var(--display);letter-spacing:.025em;text-transform:uppercase;margin:0 0 .7rem}.work-info p{color:var(--muted);font-size:.94rem;line-height:1.8;max-width:520px;margin:0}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:2.4rem 2rem 2.4rem 0}.service+.service{border-left:1px solid var(--line);padding-left:2rem}.number{font-size:.75rem;color:var(--gold-light);letter-spacing:.12em}.service h2,.service h3{font:200 2.5rem/1.1 var(--display);text-transform:uppercase;margin:2rem 0 1rem}.service p{color:var(--muted);font-size:.94rem;margin-bottom:1.6rem}.statement{display:grid;grid-template-columns:.65fr 1.35fr;gap:4rem;align-items:start}.statement .section-title{font-size:clamp(3rem,5vw,4.8rem)}.statement p{font-size:1.2rem;color:var(--muted);max-width:650px;margin:0 0 2rem}.statement p strong{color:var(--cream);font-weight:400}.footer{border-top:1px solid var(--line);padding:3rem 0 2rem;background:var(--charcoal)}.footer-top{display:flex;justify-content:space-between;gap:3rem;align-items:flex-start;margin-bottom:3rem}.footer-brand{width:265px}.footer p{font-size:.875rem;color:var(--muted);max-width:320px}.footer-links{display:flex;gap:4rem}.footer-links div{display:grid;align-content:start;gap:.6rem}.footer-links span{color:var(--gold-light);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.5rem}.footer-links a{font-size:.875rem;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding-top:1.5rem;font-size:.75rem;color:var(--muted)}.page-hero{padding-block:5rem 4rem;border-bottom:1px solid var(--line)}.page-hero .display{max-width:950px;font-size:clamp(4rem,7.5vw,6.8rem);line-height:1;overflow-wrap:anywhere}.page-hero p:last-child{color:var(--muted);max-width:670px;font-size:1.1rem}.breadcrumbs{display:flex;gap:.75rem;color:var(--muted);font-size:.75rem;margin-bottom:2rem;flex-wrap:wrap}.breadcrumbs a{color:var(--cream)}.page-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:5rem;padding-block:4.5rem}.page-aside{border-top:1px solid var(--gold);padding-top:1.5rem}.page-aside dl{margin:0}.page-aside dt{font-size:.75rem;color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}.page-aside dd{margin:0 0 1.8rem;color:var(--muted)}.prose{max-width:760px}.prose h2{font:200 2.8rem/1.15 var(--display);text-transform:uppercase;margin:0 0 1.3rem}.prose h2:not(:first-child){margin-top:3rem}.prose h3{font-size:1.1rem;font-weight:500;margin-top:2rem}.prose p,.prose li{color:var(--muted)}.prose ul{padding-left:1.3rem}.prose li+li{margin-top:.6rem}.prose a{color:var(--cream)}.callout{border-left:2px solid var(--gold);padding:1.1rem 1.5rem;background:var(--charcoal);margin-block:2rem}.steps{list-style:none;counter-reset:step;padding:0;margin:0}.steps li{counter-increment:step;padding-block:2rem;border-top:1px solid var(--line);display:grid;grid-template-columns:50px 1fr;gap:1rem}.steps li:before{content:'0' counter(step);font-size:.875rem;color:var(--gold-light)}.steps h2,.steps h3{font:200 2.4rem/1 var(--display);text-transform:uppercase;margin:0 0 .8rem}.steps p{color:var(--muted);margin:0}.portfolio-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.portfolio-row{display:grid;grid-template-columns:80px minmax(0,1.15fr) minmax(0,1.6fr) 125px;align-items:center;gap:2rem;padding:2rem;background:var(--black);text-decoration:none}.portfolio-row:hover{background:var(--charcoal)}.portfolio-row h2,.portfolio-row h3{font:200 2.3rem/1.1 var(--display);text-transform:uppercase;margin:0}.portfolio-row p{font-size:.875rem;color:var(--muted);margin:0}.portfolio-row .number{font-size:.875rem}.row-type{font-size:.75rem;color:var(--gold-light)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.not-found{min-height:65vh;display:grid;place-items:center;padding-block:5rem}.not-found div{max-width:750px}.not-found p{color:var(--muted)}
.footer-brand{display:block;max-width:100%}
@media(min-width:1500px){.hero{min-height:780px}.hero-art{padding-left:0}}
@media(max-width:1000px){.container{width:min(100% - 3rem,1280px)}.brand{width:200px}.nav{gap:1.3rem}.hero{grid-template-columns:1.1fr .9fr;min-height:650px}.hero h1{font-size:6rem}.hero-art{padding-left:0}.hero-intro{font-size:1rem}.statement{gap:2rem}.page-layout{gap:3rem}.portfolio-row{grid-template-columns:72px minmax(0,1fr) minmax(0,1.6fr);gap:1.2rem}.row-type{grid-column:2/-1}}
@media(max-width:720px){.container{width:calc(100% - 2.5rem)}.header-inner{min-height:84px;flex-wrap:wrap;gap:0}.brand{width:210px}.menu-ready .menu-toggle{display:block;font-size:.875rem}.menu-ready .nav{display:none}.nav{display:flex;flex-basis:100%;padding:1rem 0 1.5rem;gap:.5rem;flex-direction:column;align-items:stretch}.menu-ready .nav.is-open{display:flex}.nav a{padding:.7rem}.hero{display:flex;flex-direction:column;align-items:stretch;gap:4rem;padding-block:4rem 3rem;min-height:0}.hero h1{font-size:clamp(4.6rem,15vw,7rem);line-height:.97}.hero-art{width:min(88%,420px);margin-inline:auto;order:2;padding:1.5rem}.hero-art:before{transform:scale(1.02)}.hero-note{right:0;bottom:-.8rem;font-size:.75rem}.hero-intro{max-width:100%;font-size:1rem}.eyebrow{font-size:.75rem;letter-spacing:.12em;margin-bottom:1.6rem}.index-line{font-size:.75rem;letter-spacing:.04em;gap:1rem;flex-direction:column}.section{padding-block:3.5rem}.section-head{align-items:flex-start;flex-direction:column;gap:1.3rem;margin-bottom:2rem}.section-head h2{font-size:3.3rem}.section-head p{max-width:100%}.work-grid{grid-template-columns:1fr;gap:1.5rem}.work-art{height:235px}.work-info{padding:1.5rem}.service-list{grid-template-columns:1fr}.service,.service+.service{padding:2rem 0;border-left:0}.service+.service{border-top:1px solid var(--line)}.service h2,.service h3{margin-top:1rem}.statement{grid-template-columns:1fr;gap:2rem}.statement p{font-size:1.1rem}.footer-top{flex-direction:column;gap:2rem}.footer-links{gap:3rem}.footer-bottom{flex-direction:column;gap:.75rem}.page-hero{padding-block:3.5rem 2.5rem}.page-hero .display{font-size:clamp(3.5rem,12vw,5rem);overflow-wrap:anywhere}.page-layout{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}.page-aside dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.page-aside dt{margin:0}.page-aside dd{margin:0 0 .5rem}.portfolio-row{grid-template-columns:48px minmax(0,1fr);gap:1rem;padding:1.5rem}.portfolio-row p{grid-column:2}.row-type{grid-column:2}.page-hero p:last-child{font-size:1rem}.steps li{grid-template-columns:35px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Keep enlarged text within its reading column. */
h1,h2,h3,p,a,button{overflow-wrap:anywhere}.section-head>div{min-width:0;max-width:100%}.work-grid>*,.service-list>*,.statement>*,.page-layout>*{min-width:0}.work-info .meta{flex-wrap:wrap}.button{max-width:100%;text-align:center}.footer-links div{min-width:0}
@media(max-width:720px){.portfolio-row{grid-template-columns:48px minmax(0,1fr)}.footer-links{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.work-grid{grid-template-columns:minmax(0,1fr)}}

:root{--control-border:#797367}.menu-toggle,.button.secondary{border-color:var(--control-border)}

/* Portfolio editions share one ink and one optical size. */
.work-art .product-mark{width:144px;height:144px;object-fit:contain}.work-primary{display:block;text-decoration:none}.work-links{padding:0 1.8rem 1.6rem}.work-card:focus-within{border-color:var(--gold)}.portfolio-mark img{width:72px;height:72px;object-fit:contain}.portfolio-category{display:block;font-size:.75rem;color:var(--gold-light);margin-bottom:.55rem}.portfolio-identity{min-width:0}.portfolio-identity a{text-decoration:none}.portfolio-identity a:hover{color:var(--gold-light)}.portfolio-meta{display:grid;gap:1rem;justify-items:start;min-width:0}.portfolio-meta .row-type{grid-column:auto}.product-website{display:inline-flex;align-items:center;gap:.45rem}.project-visit{margin:1.8rem 0 0}.portfolio-row:focus-within{background:var(--charcoal)}.project-detail-mark{width:96px;height:96px;object-fit:contain;margin:0 0 2rem}
@media(max-width:1000px){.portfolio-meta{grid-column:2/-1}}
@media(max-width:720px){.work-links{padding:0 1.5rem 1.5rem}.portfolio-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}}
@media(max-width:720px){.portfolio-mark{grid-row:1/4;align-self:start}.portfolio-mark img{width:48px;height:48px}.portfolio-row h2{font-size:2.1rem}.portfolio-category{font-size:.75rem}.project-detail-mark{width:72px;height:72px;margin-bottom:1.5rem}}

/* Research areas pair application work with interactive worlds. */
.research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-grid .service{padding:2.4rem 2rem;border-left:0}.research-grid .service:nth-child(even){border-left:1px solid var(--line)}.research-grid .service:nth-child(n+3){border-top:1px solid var(--line)}.section-link{display:inline-block;margin-top:1rem}.studio-mark{width:min(100%,280px);margin:0 0 2.5rem}.contact-mark{width:min(100%,240px)}.contact-action{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-block:2rem}.contact-action span{font-size:.875rem}.return-link{margin-top:3rem}.research-approach{padding-bottom:4rem}.related-links li{padding-block:.2rem}
@media(max-width:720px){.research-grid{grid-template-columns:minmax(0,1fr)}.research-grid .service{padding:2rem 0}.research-grid .service:nth-child(even){border-left:0}.research-grid .service+.service{border-top:1px solid var(--line)}.contact-mark{width:160px}.studio-mark{margin-bottom:2rem}}

.page-aside dd{min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){.page-aside dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep all five projects together and show the work behind the marks. */
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem}
.all-projects{grid-template-columns:repeat(6,minmax(0,1fr))}
.all-projects .work-card{grid-column:span 2}
.all-projects .work-card:nth-child(-n+2){grid-column:span 3}
.screen-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:5rem;margin-bottom:2rem}
.screen-gallery-head h2{font:200 3rem/1.05 var(--display);text-transform:uppercase;margin:0}
.screen-gallery-head p{max-width:420px;color:var(--muted);margin:0}
.screen-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.screen-gallery>article{min-width:0}
.screen-gallery h3{font:200 1.85rem/1.1 var(--display);text-transform:uppercase;margin:0 0 1rem}
.screen-gallery h3 a{text-decoration:none}
.project-screen{margin:0 0 2.5rem;min-width:0}
.screen-view{border:1px solid var(--line);background:#0c0d0e;display:grid;place-items:center;overflow:hidden}
.screen-view img{width:100%;height:auto}
.project-screen.portrait .screen-view{padding:1.5rem}
.project-screen.portrait img{width:min(100%,240px)}
.project-screen figcaption{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:.8rem}
.screen-gallery .screen-view{display:flex;align-items:center;justify-content:center;height:300px;padding:.75rem}
.screen-gallery .screen-view img{height:auto;width:auto;max-width:100%;max-height:100%;object-fit:contain;min-height:0;min-width:0}
.screen-gallery .project-screen{margin:0}
@media(min-width:721px) and (max-width:1000px){.all-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.all-projects .work-card,.all-projects .work-card:nth-child(-n+2){grid-column:span 1}.all-projects .work-card:last-child{grid-column:span 2}.screen-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-gallery>article:last-child{grid-column:span 2}}
@media(max-width:720px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding-block:1.6rem 2.5rem}
 .hero-art{grid-row:1;padding:0;width:96px;justify-self:start;align-self:start;margin:0 0 1.25rem;order:0}
 .hero-art:before{display:none}
 .hero-copy .eyebrow{font-size:.65rem;letter-spacing:.12em;margin-bottom:1.25rem;gap:.65rem}
 .hero h1{font-size:clamp(3.7rem,16vw,6rem);margin-bottom:1.5rem}
 .hero-intro{font-size:1rem;line-height:1.7;margin-bottom:1.7rem}
 .hero-actions{gap:1rem 1.5rem}
 .hero-actions .button{padding:.75rem 1rem}
 .hero-actions .text-link{font-size:.875rem}
 .all-projects{grid-template-columns:minmax(0,1fr)}
 .all-projects .work-card,.all-projects .work-card:nth-child(-n+2){grid-column:auto}
 .screen-gallery-head{display:block;margin-top:3rem}
 .screen-gallery-head p{margin-top:1rem}
 .screen-gallery{grid-template-columns:minmax(0,1fr);gap:2rem}
 .screen-gallery .screen-view{height:300px}
}
