:root{--color-canvas:#1b1815;--color-surface:#241f19;--color-ink:#ece7dd;--color-muted:#a39d90;--color-teal:#357a73;--color-teal-dark:#8fbdb6;--color-copper:#c98a5e;--color-line:#ece7dd29;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--content-max:76rem;--reading-max:41rem;--gutter:clamp(1.25rem, 4vw, 4.5rem);--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:clamp(1.5rem, 3vw, 2.75rem);--space-lg:clamp(3.25rem, 6vw, 5.75rem);--space-xl:clamp(4.25rem, 9vw, 8rem);--radius:.2rem;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-canvas);min-width:0;color:var(--color-ink);font-family:var(--font-sans);margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}a{color:inherit;text-underline-offset:.18em;transition:color .15s}a:hover{color:var(--color-teal-dark)}:focus-visible{outline:.2rem solid var(--color-copper);outline-offset:.22rem}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;font-weight:680;line-height:1.06}h1{max-width:13ch;font-size:clamp(2.65rem,5.7vw,5.25rem)}h2{max-width:15ch;font-size:clamp(2rem,3.8vw,3.75rem)}h3{font-size:clamp(1.2rem,1.7vw,1.45rem)}ol,ul{margin:0;padding:0;list-style:none}.container{width:min(100% - (var(--gutter) * 2), var(--content-max));margin-inline:auto}.section{padding-block:var(--space-lg)}.section--bordered{border-top:1px solid var(--color-line)}.eyebrow{color:var(--color-teal-dark);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:780}.lede,.section-intro{max-width:var(--reading-max);color:var(--color-muted);font-size:clamp(1.08rem,1.8vw,1.3rem)}.section-intro{font-size:1rem}.button{border:1px solid var(--color-teal);border-radius:var(--radius);background:var(--color-teal);color:#fff;justify-content:center;align-items:center;min-height:3.1rem;padding:.75rem 1.1rem;font-size:.93rem;font-weight:760;line-height:1.1;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.button:hover{border-color:var(--color-teal-dark);background:var(--color-teal-dark);color:#fff}.button--secondary{color:var(--color-teal-dark);background:0 0}.button--secondary:hover{color:#fff}.button--small{min-height:2.65rem;padding:.55rem .9rem;font-size:.86rem}.text-link{color:var(--color-teal-dark);font-size:.92rem;font-weight:740;text-decoration-thickness:1px}.text-link:hover{color:var(--color-copper)}.skip-link{z-index:10;background:var(--color-ink);color:#fff;padding:.75rem 1rem;font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:5;border-bottom:1px solid color-mix(in srgb, var(--color-line) 82%, transparent);background:color-mix(in srgb, var(--color-canvas) 93%, transparent);backdrop-filter:blur(14px);position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--space-sm);min-height:5rem;display:flex}.site-identity{min-width:0;text-decoration:none;display:grid}.site-identity__name{letter-spacing:-.03em;font-size:.94rem;font-weight:760}.site-identity__role{color:var(--color-muted);font-size:.76rem}.site-navigation{margin-left:auto}.site-navigation ul{align-items:center;gap:clamp(.75rem,1.7vw,1.5rem);display:flex}.site-navigation a{font-size:.88rem;font-weight:650;text-decoration:none}.site-navigation a.active{color:var(--color-teal-dark);text-underline-offset:.3em;text-decoration:underline 1.5px}.site-navigation__contact,.menu-toggle{display:none}.site-header__contact{margin-left:var(--space-xs)}.homepage-hero{padding-block:var(--space-xl) clamp(3rem, 5vw, 4.75rem);gap:clamp(2rem,4.5vw,4.5rem);display:grid}.hero__content{align-content:center;gap:var(--space-md);display:grid}.hero__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.media-placeholder{align-content:end;justify-items:start;gap:var(--space-2xs);border:1px solid var(--color-line);background:linear-gradient(130deg, #e5d9c8 0%, var(--color-surface) 55%, #ded0bd 100%);min-height:15rem;color:var(--color-muted);text-align:left;padding:clamp(1.25rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.media-placeholder:before{content:"";border:1px solid #2d6b6638;position:absolute;inset:12% 10%}.media-placeholder:after{content:"";border-top:1px solid #9a624373;width:28%;position:absolute;bottom:12%;right:10%}.media-placeholder span,.media-placeholder small{z-index:1;position:relative}.media-placeholder span{color:var(--color-ink);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:780}.media-placeholder small{max-width:18rem;font-size:.78rem;line-height:1.45}.media-placeholder--hero{min-height:clamp(19rem,38vw,36rem)}.game-showcase{gap:var(--space-sm);grid-template-columns:1fr;display:grid}.game-tile{aspect-ratio:1;border:1px solid var(--color-line);background:var(--color-surface);border-radius:1.1rem;position:relative;overflow:hidden}.game-tile img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}@media (hover:hover) and (pointer:fine){.game-tile:hover img{transform:scale(1.015)}}.game-tile:focus-within img{transform:scale(1.015)}.game-tile__info{padding:var(--space-sm);color:#fff;background:linear-gradient(#0000 0%,#14120a52 40%,#14120ac7 100%);position:absolute;inset:auto 0 0}.game-tile__title{letter-spacing:-.01em;font-weight:720;line-height:1.2}.game-tile--primary .game-tile__title{font-size:clamp(1rem,1.6vw,1.2rem)}.game-tile--secondary .game-tile__title{font-size:.86rem}.game-tile__role{color:#ffffffd1;letter-spacing:.02em;margin-top:.15rem;font-size:.74rem;font-weight:620}.game-tile__role-toggle{color:#ffffffe0;font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-top:.4rem;padding:.35rem 0;font-size:.72rem;font-weight:700;display:inline-flex}.game-tile__role-toggle-icon{border:1px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;width:.9rem;height:.9rem;font-size:.62rem;line-height:1;transition:transform .16s,border-color .16s;display:inline-flex}.game-tile__role-toggle-icon:before{content:"+"}.game-tile__role-toggle[aria-expanded=true] .game-tile__role-toggle-icon{transform:rotate(45deg)}@media (hover:hover) and (pointer:fine){.game-tile__role-toggle:hover{color:#fff}.game-tile__role-toggle:hover .game-tile__role-toggle-icon{border-color:#ffffffd9}}.game-tile__role-toggle:focus-visible{outline-color:var(--color-copper)}.game-tile__stores{flex-wrap:wrap;align-items:center;gap:.15rem .75rem;margin-top:.2rem;margin-left:-.1rem;display:flex}.game-tile__stores a{color:#fff;text-underline-offset:.16em;align-items:center;padding:.7rem .1rem;font-size:.72rem;font-weight:700;text-decoration-thickness:1px;display:inline-flex}.game-tile__stores a:hover{color:#ffffffbf}.game-role-detail{max-width:26rem;margin-top:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);display:none;position:relative}.game-role-detail.is-open{display:block}@media (prefers-reduced-motion:no-preference){.game-role-detail.is-open{animation:.2s game-role-detail-in}}@keyframes game-role-detail-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.game-role-detail__close{top:var(--space-xs);right:var(--space-xs);border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-canvas);width:2rem;height:2rem;color:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex;position:absolute}.game-role-detail__close:hover{color:var(--color-teal-dark)}.game-role-detail h3{margin:.15rem 2rem .6rem 0;font-size:1.05rem}.game-role-detail ul{color:var(--color-muted);gap:.35rem;font-size:.88rem;display:grid}.game-role-detail li{padding-left:1.1rem;position:relative}.game-role-detail li:before{color:var(--color-copper);content:"—";position:absolute;left:0}.section-heading{gap:var(--space-sm);margin-bottom:clamp(1.75rem,3vw,3rem);display:grid}.selected-work-section .section-heading h2{max-width:18ch;font-size:clamp(1.9rem,3.1vw,3.15rem)}.disciplines-section .section-heading h2{max-width:26ch;font-size:clamp(1.7rem,2.8vw,2.75rem)}.work-grid{gap:clamp(2rem,4vw,4rem);display:grid}.work-item{gap:var(--space-sm);display:grid}.work-item .media-placeholder{aspect-ratio:3/2;min-height:0}.work-item:first-child .media-placeholder{aspect-ratio:16/9}.work-item .media-placeholder span{display:none}.work-item .media-placeholder small{color:var(--color-ink);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:720}.work-item__media-link{aspect-ratio:3/2;border:1px solid var(--color-line);background:var(--color-surface);display:block;overflow:hidden}.work-item:first-child .work-item__media-link{aspect-ratio:16/9}.work-item__media{object-fit:cover;width:100%;height:100%;transition:transform .18s;display:block}.work-item__copy{gap:var(--space-2xs);max-width:26rem;display:grid}.work-item__meta{color:var(--color-muted);letter-spacing:.04em;font-size:.78rem;font-weight:650}.work-item__description{color:var(--color-muted)}.discipline-grid{gap:var(--space-md);display:grid}.discipline-grid article{gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-line);display:grid}.discipline-grid p,.page-intro p{max-width:var(--reading-max);color:var(--color-muted)}.capability-grid{gap:var(--space-md);display:grid}.capability-grid>div{gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-line);display:grid}.capability-grid h3{font-size:1rem}.capability-grid ul{color:var(--color-muted);gap:.35rem;font-size:.95rem;display:grid}.capability-grid li{padding-left:1.25rem;position:relative}.capability-grid li:before{color:var(--color-copper);content:"—";position:absolute;left:0}.experience-list{border-top:1px solid var(--color-line);display:grid}.experience-list>li{gap:var(--space-xs);padding-block:var(--space-md);border-bottom:1px solid var(--color-line);display:grid}.experience-list__period{color:var(--color-teal-dark);font-size:.82rem;font-weight:730}.experience-list li div{gap:.15rem;display:grid}.experience-list li div p{color:var(--color-muted)}.experience-list li div ul{color:var(--color-muted);gap:.3rem;margin-top:.15rem;font-size:.95rem;display:grid}.resume .experience-list li div ul{max-width:var(--reading-max)}.experience-list li div ul li{padding-left:1.1rem;position:relative}.experience-list li div ul li:before{color:var(--color-copper);content:"—";position:absolute;left:0}.resume .section{padding-block:clamp(1.25rem,2.25vw,2rem)}.resume .section-heading,.resume-section-heading{margin-bottom:var(--space-sm)}.resume-section-heading h2{letter-spacing:.08em;text-transform:uppercase;max-width:none;color:var(--color-teal-dark);font-size:1rem;font-weight:780}.page-intro.resume-identity{gap:var(--space-xs);padding-block:clamp(1.75rem,2.75vw,2.5rem)}.resume-identity h1{max-width:none;font-size:clamp(2rem,3.4vw,3rem)}.resume-identity .lede{max-width:none;font-size:1.1rem}.resume-contact{margin-top:var(--space-xs);color:var(--color-muted);flex-wrap:wrap;gap:.35rem 1.5rem;font-size:.88rem;display:flex}.resume-contact li{align-items:baseline;gap:.4rem;display:flex}.resume-contact strong{color:var(--color-ink);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.resume .experience-list>li{padding-block:var(--space-sm)}.resume-facts{gap:var(--space-sm);color:var(--color-muted);font-size:.95rem;display:grid}.resume-facts li{gap:.15rem;display:grid}.resume-facts strong{color:var(--color-ink);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:650;display:block}.resume-facts a{width:fit-content}.resume-grid{gap:var(--space-md);display:grid}.resume-grid>div{padding-top:var(--space-sm);border-top:1px solid var(--color-line);gap:.35rem;display:grid}.resume-grid p{color:var(--color-muted)}.workflow-highlight{gap:var(--space-md);background:linear-gradient(90deg, color-mix(in srgb, var(--color-surface) 72%, transparent), transparent);padding-block:clamp(2.75rem,5vw,4.5rem);display:grid}.workflow-highlight>div{align-content:start;gap:var(--space-sm);display:grid}.workflow-highlight__copy{max-width:var(--reading-max);color:var(--color-muted)}.workflow-highlight h2{font-size:clamp(1.9rem,3vw,3rem)}.final-cta{gap:var(--space-md);padding-block:clamp(2.75rem,5vw,4.5rem);display:grid}.final-cta>div{align-content:start;gap:var(--space-sm);display:grid}.final-cta__actions{max-width:var(--reading-max);color:var(--color-muted)}.final-cta h2{font-size:clamp(1.85rem,3vw,3rem)}.page-intro{gap:var(--space-md);padding-block:var(--space-xl);display:grid}.about-cta{margin-top:var(--space-sm)}.page-intro.work-intro{gap:var(--space-sm);padding-block:clamp(1.75rem,4vw,3rem) clamp(1.25rem,2.5vw,2rem)}.page-intro.hub-intro{padding-bottom:clamp(3.25rem,6.5vw,6rem)}.page-intro.hub-intro+.work-section{padding-top:clamp(1.5rem,2.75vw,2.25rem)}.work-section{border-top:1px solid var(--color-line);padding-block:clamp(2rem,3.5vw,3rem)}.work-section .section-heading h2{max-width:24ch;font-size:clamp(1.6rem,2.6vw,2.5rem)}.work-rows{gap:var(--space-sm);display:grid}.work-row{gap:var(--space-sm);padding-block:var(--space-sm);border-top:1px solid var(--color-line);display:grid}.work-rows>.work-row:first-child{border-top:none;padding-top:0}.work-row__media{aspect-ratio:16/9;border:1px solid var(--color-line);background:var(--color-surface);display:block;overflow:hidden}.work-row__media img{object-fit:cover;width:100%;height:100%;transition:transform .18s;display:block}.work-row__body{align-content:center;gap:.35rem;display:grid}@media (hover:hover) and (pointer:fine){.work-item__media-link:hover .work-item__media,.work-row__media:hover img{transform:scale(1.018)}}.work-item__media-link:focus-visible .work-item__media,.work-row__media:focus-visible img{transform:scale(1.018)}.work-row__meta{color:var(--color-muted);letter-spacing:.04em;font-size:.76rem;font-weight:650}.work-row__description{max-width:34rem;color:var(--color-muted);font-size:.95rem}.work-row__cta{margin-top:.1rem}.outfit7-entries{gap:var(--space-md);display:grid}.outfit7-entry{gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-line);display:grid}.outfit7-entries>.outfit7-entry:first-child{border-top:none;padding-top:0}.outfit7-entry__icon{object-fit:cover;border:1px solid var(--color-line);background:var(--color-surface);border-radius:1rem;width:5.5rem;height:5.5rem;display:block}.outfit7-entry__body{align-content:start;gap:.4rem;display:grid}.outfit7-entry__list{gap:var(--space-xs);color:var(--color-muted);margin-top:.2rem;display:grid}.outfit7-entry__list li{padding-left:1.25rem;position:relative}.outfit7-entry__list li:before{color:var(--color-copper);content:"—";position:absolute;left:0}.outfit7-entry__stores{flex-wrap:wrap;align-items:center;gap:.15rem .75rem;margin-top:.2rem;display:flex}.outfit7-entry__stores a{color:var(--color-teal-dark);font-size:.88rem;font-weight:740;text-decoration-thickness:1px}@media (width>=48rem){.outfit7-entry{align-items:start;gap:var(--space-md);grid-template-columns:5.5rem 1fr}}.case-study__hero{gap:var(--space-lg);padding-block:var(--space-lg);display:grid}.case-study .section{padding-block:clamp(2.25rem,3.75vw,3.5rem)}.case-study .section--compact{padding-block:clamp(1.5rem,2.5vw,2.25rem)}.case-study .section-heading{margin-bottom:clamp(1.25rem,2.25vw,2rem)}.case-study__hero-copy,.case-study__reading,.case-study__split>div,.case-study__contribution>div{align-content:start;gap:var(--space-md);display:grid}.case-study__technology{color:var(--color-teal-dark);letter-spacing:.04em;font-size:.88rem;font-weight:740}.case-study__hero-media,.case-study__evidence{margin:0}.case-study__hero-media img,.case-study__evidence img{border:1px solid var(--color-line);background:var(--color-surface);width:100%;display:block}.case-study__hero-media img{aspect-ratio:16/9;object-fit:cover}.case-study__evidence{gap:var(--space-xs);display:grid}.case-study__evidence img{aspect-ratio:2.62;object-fit:cover;object-position:top}.case-study figcaption{color:var(--color-muted);font-size:.82rem;line-height:1.45}.case-study__reading>p,.case-study__split>p{max-width:var(--reading-max);color:var(--color-muted);font-size:1.08rem}.system-stages,.representation-grid{gap:var(--space-md);display:grid}.system-stages li,.representation-grid>div{gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--color-line);display:grid}.system-stages p,.representation-grid p{color:var(--color-muted)}.system-stages__threshold{letter-spacing:.1em;font-size:.8rem;font-weight:800;color:var(--color-teal-dark)!important}.system-flow,.parameter-flow{gap:var(--space-xs);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-surface) 72%, transparent);text-align:center;display:grid}.system-flow span,.parameter-flow span{font-weight:720}.system-flow b,.parameter-flow b{color:var(--color-copper);font-size:1.2rem}.system-flow__regions{justify-content:space-between;gap:var(--space-sm);display:flex}.system-flow__regions i{font-style:normal}.case-study__split{gap:var(--space-md);display:grid}.parameter-flow{text-align:left;margin-top:0}.micro-flow{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-surface) 72%, transparent);color:var(--color-muted);flex-wrap:wrap;align-items:baseline;gap:.4em;font-size:.95rem;display:flex}.micro-flow strong{color:var(--color-ink);font-weight:720}.micro-flow__arrow{color:var(--color-copper);font-weight:700}.case-study__contribution{gap:var(--space-md);display:grid}.case-study__contribution ul{gap:var(--space-xs);color:var(--color-muted);display:grid}.case-study__contribution li{padding-left:1.25rem;position:relative}.case-study__contribution li:before{color:var(--color-copper);content:"—";position:absolute;left:0}.case-study__next{justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;display:flex}.case-study .case-study__next{padding-bottom:var(--space-md)}.case-study__hero-media--natural img{aspect-ratio:auto;object-position:initial;height:auto}.case-study__evidence--natural img{aspect-ratio:auto;object-fit:initial;object-position:initial;height:auto}.evidence-pair{gap:var(--space-md);align-items:start;display:grid}.outcome-grid{gap:var(--space-md);margin-top:var(--space-md);display:grid}.outcome-grid>div{gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--color-line);display:grid}.outcome-grid ol{color:var(--color-muted);gap:.35rem;font-size:.95rem;display:grid}.outcome-grid li{padding-left:1.1rem;position:relative}.outcome-grid li:before{color:var(--color-copper);content:"→";position:absolute;left:0}.case-study__disclaimer{color:var(--color-muted);font-size:.82rem}.hierarchy-list{margin-top:var(--space-md);border-top:1px solid var(--color-line);gap:0;display:grid}.hierarchy-list li{gap:var(--space-sm);padding-block:var(--space-sm);border-bottom:1px solid var(--color-line);grid-template-columns:2.5rem 1fr;align-items:baseline;display:grid}.hierarchy-list li span{color:var(--color-copper);letter-spacing:.06em;font-size:.78rem;font-weight:800}.hierarchy-list li strong{font-weight:700;display:block}.hierarchy-list li p{color:var(--color-muted)}.case-study__feature-media{gap:var(--space-xs);margin:var(--space-md) 0 0;display:grid}.case-study__feature-media img{border:1px solid var(--color-line);background:var(--color-surface);width:100%;height:auto;display:block}.site-footer{border-top:1px solid var(--color-line);padding-block:var(--space-md)}.site-footer__inner{gap:var(--space-md);display:grid}.site-footer__identity{font-weight:700}.site-footer__identity span{color:var(--color-muted);font-weight:400}.site-footer__details{gap:var(--space-sm);color:var(--color-muted);font-size:.9rem;display:grid}.site-footer__details li{gap:.1rem;display:grid}.site-footer__details strong{color:var(--color-ink);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.site-footer__details a{width:fit-content}@media (width>=48rem){.experience-list>li{grid-template-columns:minmax(10rem,.35fr) 1fr;align-items:baseline}.site-footer__inner{grid-template-columns:1fr 2fr;align-items:start}.site-footer__details{grid-template-columns:repeat(2,minmax(0,1fr))}.system-stages,.representation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-flow{grid-template-columns:1fr auto 1.2fr auto 1fr auto 1.2fr;align-items:center}.system-flow b{transform:rotate(-90deg)}.case-study__split{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start}.case-study__split--reverse{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.case-study__contribution{grid-template-columns:1fr 1fr}.evidence-pair,.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-row{align-items:center;gap:var(--space-md);grid-template-columns:minmax(11rem,.32fr) 1fr}.work-row--professional{grid-template-columns:minmax(13rem,.42fr) 1fr}.resume-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-showcase{aspect-ratio:1.05;grid-template-rows:1.5fr 1fr;grid-template-columns:repeat(2,minmax(0,1fr))}.game-tile{aspect-ratio:auto}}@media (width>=64rem){.homepage-hero{grid-template-columns:minmax(0,.72fr) minmax(35rem,1.28fr);align-items:center}.hero__content,.game-cluster{align-self:start}.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.work-item:first-child{grid-column:span 7}.work-item:nth-child(2){grid-column:span 5}.discipline-grid,.capability-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.workflow-highlight,.final-cta{grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr);gap:12%}.case-study__hero{grid-template-columns:minmax(21rem,.7fr) minmax(0,1.3fr);align-items:center}}@media (width<=77.99rem){.site-header__inner{min-height:4.5rem}.menu-toggle{border:1px solid var(--color-line);border-radius:var(--radius);min-height:2.65rem;color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;margin-left:auto;padding:.45rem .7rem;font-size:.86rem;font-weight:730;display:inline-flex}.site-header__contact{display:none}.site-navigation{z-index:2;top:calc(100% + .5rem);right:var(--gutter);left:var(--gutter);padding:var(--space-sm);border:1px solid var(--color-line);background:var(--color-canvas);max-height:calc(100vh - 7rem);margin-left:0;display:none;position:absolute;overflow-y:auto;box-shadow:0 1rem 2.5rem #00000080}.site-header[data-menu-open=true] .site-navigation{display:block}.site-navigation ul{gap:0;display:grid}.site-navigation a{padding:.75rem .35rem;display:block}.site-navigation__children{border-left:1px solid var(--color-line);gap:0;margin:0 0 .35rem;padding-left:.85rem;display:grid}.site-navigation__children a{color:var(--color-muted);padding:.6rem .35rem;font-size:.92rem}.site-navigation__children a.active{color:var(--color-teal-dark)}.site-navigation__contact{border-top:1px solid var(--color-line);margin-top:var(--space-2xs);display:list-item}}.site-rail{display:none}@media (width>=78rem){body{padding-left:13.75rem}.site-header{display:none}.site-rail{z-index:5;width:13.75rem;padding:var(--space-md) var(--space-sm);border-right:1px solid var(--color-line);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}}.site-rail__identity{margin-bottom:var(--space-md);gap:.15rem;text-decoration:none;display:grid}.site-rail__name{letter-spacing:-.03em;color:var(--color-ink);font-size:.98rem;font-weight:760}.site-rail__role{color:var(--color-muted);font-size:.76rem}.site-rail__group{margin-bottom:var(--space-sm);gap:.35rem;display:grid}.site-rail__group+.site-rail__group{padding-top:var(--space-sm);border-top:1px solid var(--color-line)}.site-rail__category{gap:.1rem;display:grid}.site-rail__link{color:var(--color-ink);align-items:center;gap:.45rem;padding:.4rem 0;font-size:.88rem;font-weight:650;text-decoration:none;transition:color .18s,transform .18s;display:flex}@media (hover:hover) and (pointer:fine){.site-rail__link:hover{color:var(--color-teal-dark);transform:translate(4px)}}.site-rail__link:focus-visible{color:var(--color-teal-dark);transform:translate(4px)}.site-rail__link.active{color:var(--color-teal-dark)}.site-rail__link.active:after{content:"";background:var(--color-teal-dark);width:.85rem;height:1px;display:inline-block}.site-rail__contact{padding-top:var(--space-sm);border-top:1px solid var(--color-line);margin-top:auto}.site-rail__contact .site-rail__link{padding:0}.site-rail__children{border-left:1px solid var(--color-line);gap:.02rem;margin:.1rem 0 .2rem;padding-left:.75rem;display:grid}.site-rail__child-link{color:var(--color-muted);padding:.28rem 0;font-size:.76rem;font-weight:550;line-height:1.3;text-decoration:none;transition:color .18s,transform .18s;display:block}@media (hover:hover) and (pointer:fine){.site-rail__child-link:hover{color:var(--color-teal-dark);transform:translate(3px)}}.site-rail__child-link:focus-visible{color:var(--color-teal-dark);transform:translate(3px)}.site-rail__child-link.active{color:var(--color-teal-dark);font-weight:650}.site-rail__preview-zone{height:11.75rem;margin-bottom:var(--space-sm);position:relative}.site-rail__preview-panel{opacity:0;background:0 0;border:1px solid #0000;padding:.6rem;transition:opacity .18s,transform .18s,border-color .18s,background-color .18s;position:absolute;inset:0;overflow:hidden;transform:translateY(4px)}.site-rail__preview-panel img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--color-line);width:100%;margin-bottom:.4rem;display:block}.site-rail__preview-title{color:var(--color-ink);font-size:.8rem;font-weight:700;line-height:1.3}.site-rail__preview-meta{color:var(--color-muted);margin-top:.15rem;font-size:.7rem}.site-rail__preview-eyebrow{letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.5rem;font-size:.7rem;font-weight:700}.site-rail__preview-index-label{color:var(--color-muted);margin-top:.5rem;font-size:.68rem;font-weight:700}.site-rail__preview-index-label:first-of-type{margin-top:0}.site-rail__preview-index-item{color:var(--color-ink);margin-top:.2rem;font-size:.78rem}@media (hover:hover) and (pointer:fine){.site-rail:has([data-preview=work]:hover) .site-rail__preview-panel[data-panel=work],.site-rail:has([data-preview=battlefield]:hover) .site-rail__preview-panel[data-panel=battlefield],.site-rail:has([data-preview=crowd]:hover) .site-rail__preview-panel[data-panel=crowd],.site-rail:has([data-preview=charged]:hover) .site-rail__preview-panel[data-panel=charged],.site-rail:has([data-preview=fmod]:hover) .site-rail__preview-panel[data-panel=fmod]{opacity:1;border-color:var(--color-line);background:var(--color-surface);transform:translateY(0)}}.site-rail:has([data-preview=work]:focus-visible) .site-rail__preview-panel[data-panel=work],.site-rail:has([data-preview=battlefield]:focus-visible) .site-rail__preview-panel[data-panel=battlefield],.site-rail:has([data-preview=crowd]:focus-visible) .site-rail__preview-panel[data-panel=crowd],.site-rail:has([data-preview=charged]:focus-visible) .site-rail__preview-panel[data-panel=charged],.site-rail:has([data-preview=fmod]:focus-visible) .site-rail__preview-panel[data-panel=fmod]{opacity:1;border-color:var(--color-line);background:var(--color-surface);transform:translateY(0)}.video-embed{aspect-ratio:16/9;border:1px solid var(--color-line);background:var(--color-surface);position:relative;overflow:hidden}.video-embed__trigger{cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}.video-embed__trigger img{object-fit:cover;width:100%;height:100%;display:block}.video-embed__play{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.video-embed__play-icon{background:color-mix(in srgb, var(--color-canvas) 55%, transparent);backdrop-filter:blur(2px);border:1px solid #ece7dd59;border-radius:50%;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;transition:transform .18s,background-color .18s;display:flex}.video-embed__play-icon svg{width:1.6rem;height:1.6rem;fill:var(--color-ink);margin-left:.2rem}@media (hover:hover) and (pointer:fine){.video-embed__trigger:hover .video-embed__play-icon{background:color-mix(in srgb, var(--color-teal) 55%, transparent);transform:scale(1.06)}}.video-embed__trigger:focus-visible .video-embed__play-icon{transform:scale(1.06)}.video-embed__iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.case-study__breakdown>*+*{margin-top:clamp(2.25rem,4vw,3.5rem)}.case-study__group-heading{margin-bottom:var(--space-sm);align-items:baseline;gap:.6rem;display:flex}.case-study__group-number{color:var(--color-teal-dark);letter-spacing:.06em;font-size:.85rem;font-weight:800}.case-study__group>*+*{margin-top:clamp(1.5rem,2.75vw,2.25rem)}.case-study__glance{gap:var(--space-sm);display:grid}.case-study__glance-item{padding-top:var(--space-xs);border-top:1px solid var(--color-line);gap:.2rem;display:grid}.case-study__glance-item strong{color:var(--color-teal-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:780;display:block}.case-study__glance-item p{color:var(--color-muted)}@media (width>=48rem){.case-study__glance{gap:var(--space-md) var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr))}}.case-study__evidence-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;margin:0;padding:0;display:block}@media (hover:hover) and (pointer:fine){.case-study__evidence-trigger:hover img{transform:scale(1.012)}}.case-study__evidence-trigger:focus-visible img{transform:scale(1.012)}.lightbox{max-width:96vw;max-height:95vh;color:var(--color-ink);background:0 0;border:none;margin:auto;padding:2.5rem 0 0;overflow-y:auto}.lightbox::backdrop{background:#0a0906e0}.lightbox__close{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.lightbox__close:hover{color:var(--color-teal-dark)}.lightbox__figure{gap:var(--space-xs);margin:0;display:grid}.lightbox__image{object-fit:contain;border:1px solid var(--color-line);background:var(--color-canvas);width:auto;max-width:94vw;height:auto;max-height:88vh;margin-inline:auto;display:block}.lightbox__caption{justify-content:space-between;align-items:baseline;gap:var(--space-sm);color:var(--color-muted);flex-wrap:wrap;font-size:.88rem;display:flex}.lightbox__open-original{flex-shrink:0}html.js-reveal :is(main>section,main>article>section):not(.case-study__breakdown):not(.work-section):not(.selected-work-section),html.js-reveal :is(.work-row,.work-item,.case-study__breakdown>*){opacity:.95;transition:opacity .45s,transform .45s;transform:translateY(10px)}html.js-reveal :is(main>section,main>article>section):not(.case-study__breakdown):not(.work-section):not(.selected-work-section).is-revealed,html.js-reveal :is(.work-row,.work-item,.case-study__breakdown>*).is-revealed{opacity:1;transform:translateY(0)}.button span[aria-hidden=true],.text-link span[aria-hidden=true]{transition:transform .18s;display:inline-block}@media (hover:hover) and (pointer:fine){.button:hover span[aria-hidden=true],.text-link:hover span[aria-hidden=true]{transform:translate(3px)}}.button:focus-visible span[aria-hidden=true],.text-link:focus-visible span[aria-hidden=true]{transform:translate(3px)}.work-item h3,.work-row h3{transition:color .18s}@media (hover:hover) and (pointer:fine){.work-item:has(.work-item__media-link:hover) h3,.work-row:has(.work-row__media:hover) h3{color:var(--color-teal-dark)}.work-item:has(.work-item__media-link:hover) .text-link span[aria-hidden=true],.work-row:has(.work-row__media:hover) .work-row__cta span[aria-hidden=true]{transform:translate(3px)}}.work-item:has(.work-item__media-link:focus-visible) h3,.work-row:has(.work-row__media:focus-visible) h3{color:var(--color-teal-dark)}.work-item:has(.work-item__media-link:focus-visible) .text-link span[aria-hidden=true],.work-row:has(.work-row__media:focus-visible) .work-row__cta span[aria-hidden=true]{transform:translate(3px)}.site-rail__link.active:after{animation:.32s rail-rule-grow}@keyframes rail-rule-grow{0%{opacity:0;width:0}to{opacity:1;width:.85rem}}.video-embed__trigger img{transition:transform .22s}@media (hover:hover) and (pointer:fine){.video-embed__trigger:hover img{transform:scale(1.015)}}.video-embed__trigger:focus-visible img{transform:scale(1.015)}.case-study__evidence-trigger img{transition:transform .18s,border-color .18s}@media (hover:hover) and (pointer:fine){.case-study__evidence-trigger:hover img{border-color:var(--color-teal-dark)}}.case-study__evidence-trigger:focus-visible img{border-color:var(--color-teal-dark)}.lightbox{opacity:0;transition:opacity .18s ease, transform .18s ease, overlay .18s ease allow-discrete, display .18s ease allow-discrete;transform:scale(.985)}.lightbox[open]{opacity:1;transform:scale(1)}@starting-style{.lightbox[open]{opacity:0;transform:scale(.985)}}.lightbox::backdrop{opacity:0;transition:opacity .18s ease, overlay .18s ease allow-discrete, display .18s ease allow-discrete}.lightbox[open]::backdrop{opacity:1}@starting-style{.lightbox[open]::backdrop{opacity:0}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.game-showcase{animation-name:game-showcase-parallax;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:cover}@keyframes game-showcase-parallax{0%{transform:translateY(8px)}to{transform:translateY(-8px)}}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.js-reveal :is(main>section,main>article>section,.work-row,.work-item,.case-study__breakdown>*){opacity:1!important;transform:none!important}.lightbox,.lightbox::backdrop{transition-duration:.01ms!important}.game-showcase{animation:none!important}}
