:root{--ink: #171512;--paper: #f4ead7;--terra: #d86032;--amber: #d89428;--coral: #e48765;--muted: #9b9282;--line: rgba(244, 234, 215, .24);--noise: .055;color-scheme:dark}[data-theme=light]{--ink: #f4ead7;--paper: #171512;--terra: #b74422;--amber: #9c6512;--coral: #a64a2b;--muted: #70695e;--line: rgba(23, 21, 18, .2);--noise: .035;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Manrope,sans-serif;overflow-x:hidden;transition:background-color .42s ease,color .42s ease}body:before{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:var(--noise);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit}button{font:inherit}.skip-link{position:fixed;z-index:30;top:-5rem;left:1rem;padding:.7rem 1rem;color:#fff;background:var(--terra)}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--amber);outline-offset:4px}.site-header{position:fixed;z-index:19;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 clamp(1.1rem,4vw,4.5rem);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);font:500 10px/1 DM Mono,monospace;letter-spacing:.08em;transition:background-color .4s ease,border-color .4s ease,color .4s ease}.wordmark{position:relative;text-decoration:none;font:700 16px/1 Barlow Condensed,sans-serif;letter-spacing:.04em;transform:translate(-.7rem);opacity:0;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease}.wordmark span{color:var(--terra);display:inline-block;transition:transform .3s ease}.wordmark:after{content:"";position:absolute;left:0;bottom:-.5rem;width:0;height:1px;background:var(--terra);transition:width .35s ease}.wordmark:hover span{transform:translate(.18em)}.wordmark:hover:after{width:100%}nav{position:relative;display:flex;gap:.6rem;align-items:center;padding:.25rem 0 .65rem;opacity:0;transform:translateY(-.45rem);transition:transform .5s cubic-bezier(.2,.8,.2,1) .13s,opacity .4s ease .13s}nav a,.theme-toggle,.nav-toggle{border:0;background:none;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none}nav a{position:relative;padding:.15rem .1rem;transition:color .25s ease,transform .25s ease}nav a:hover,.theme-toggle:hover,.nav-toggle:hover{color:var(--terra)}nav a:hover,nav a:focus-visible{transform:translateY(-.18rem)}nav a[aria-current]{color:var(--terra)}.nav-indicator{position:absolute;bottom:0;left:var(--indicator-x, 0px);width:var(--indicator-w, 0px);height:2px;background:var(--terra);transition:left .42s cubic-bezier(.2,.8,.2,1),width .42s cubic-bezier(.2,.8,.2,1),background-color .3s ease}.theme-toggle{position:relative;justify-self:end;display:flex;gap:.45rem;align-items:center;padding:.55rem 0 .55rem .8rem;border-left:1px solid var(--line);opacity:0;transform:translate(.6rem);transition:color .25s ease,transform .5s cubic-bezier(.2,.8,.2,1) .23s,opacity .4s ease .23s,border-color .4s ease}.theme-toggle span:first-child{color:var(--amber);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.theme-toggle:hover span:first-child,.theme-toggle[aria-pressed=false] span:first-child{transform:rotate(180deg)}.nav-toggle{display:none}.is-ready .wordmark,.is-ready .theme-toggle,.is-ready .site-header nav{opacity:1;transform:none}.section{padding:clamp(4rem,8vw,8rem) clamp(1.1rem,6vw,7.5rem);transition:background-color .42s ease,color .42s ease,border-color .42s ease}.ruled{border-top:1px solid var(--line)}.section-kicker{display:grid;grid-template-columns:3ch auto 1fr;gap:1.3rem;align-items:center;margin-bottom:clamp(2.5rem,5vw,5rem);font:500 10px/1 DM Mono,monospace;letter-spacing:.1em;color:var(--muted)}.section-kicker span:first-child{color:var(--terra)}.section-kicker b{justify-self:end;font-weight:500;color:var(--amber)}.eyebrow,.hero-meta,.project-category,.project-role,.game-status,.game-instructions,kbd,.score-note,.contact-prelude,footer{font:500 10px/1.4 DM Mono,monospace;letter-spacing:.09em}.hero{isolation:isolate;position:relative;display:flex;flex-direction:column;min-height:100svh;padding-top:clamp(7rem,14vh,9rem);overflow:hidden;background:var(--ink);color:var(--paper)}.hero:after{content:"";position:absolute;z-index:-1;right:-12vw;bottom:-30vw;width:55vw;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--terra) 50%,transparent);border-radius:50%;box-shadow:0 0 0 5vw color-mix(in srgb,var(--terra) 6%,transparent),0 0 0 12vw color-mix(in srgb,var(--amber) 4%,transparent);animation:orbit 15s linear infinite}.hero-meta{max-width:480px;color:var(--amber);display:flex;justify-content:space-between}.eyebrow{margin:clamp(4rem,11vh,9rem) 0 1rem;color:var(--muted)}.hero-title,.work-heading h2,.play h2,.about h2,.contact h2{margin:0;font-family:Barlow Condensed,sans-serif;font-weight:800;line-height:.77;letter-spacing:-.05em;text-transform:uppercase}.hero-title{font-size:clamp(5.3rem,16.2vw,17rem);max-width:1250px;padding:.06em 0 .16em}.hero-title span,.hero-title em{display:block;transform:translateY(115%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.is-ready .hero-title span:nth-child(1){transition-delay:.13s}.is-ready .hero-title span:nth-child(2){transition-delay:.21s}.is-ready .hero-title em{transition-delay:.29s}.is-ready .hero-title span,.is-ready .hero-title em{transform:none}em{color:var(--terra);font-style:italic}.hero-bottom{display:grid;grid-template-columns:minmax(0,420px) auto;gap:2rem;align-items:end;justify-content:space-between;margin-top:auto;padding-top:4rem}.hero-bottom p{margin:0;font-size:clamp(1rem,1.5vw,1.25rem)}.arrow-link{display:inline-flex;gap:.8rem;align-items:center;width:max-content;padding-bottom:.55rem;border-bottom:1px solid currentColor;text-decoration:none;font:500 11px DM Mono,monospace;letter-spacing:.09em;transition:color .25s,gap .25s}.arrow-link:hover{gap:1.2rem;color:var(--terra)}.hero-signal{position:absolute;top:27%;right:6vw;display:flex;flex-direction:column;gap:8px;align-items:end;animation:drift 5s ease-in-out infinite}.hero-signal i{height:1px;background:var(--terra);transform-origin:right;animation:signal 2.5s ease-in-out infinite}.hero-signal i:nth-child(1){width:70px}.hero-signal i:nth-child(2){width:37px;animation-delay:.2s}.hero-signal i:nth-child(3){width:92px;animation-delay:.4s}.hero-signal i:nth-child(4){width:52px;animation-delay:.6s}.hero-signal i:nth-child(5){width:76px;animation-delay:.8s}.hero-signal b{margin-top:.8rem;color:var(--muted);font:500 9px DM Mono}.hero-orbit{position:absolute;right:clamp(1rem,5vw,5rem);bottom:9rem;writing-mode:vertical-rl;color:var(--muted);font:500 9px DM Mono;letter-spacing:.15em}.hero-enter{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.is-ready .hero-enter{opacity:1;transform:none}.is-ready .eyebrow{transition-delay:.42s}.is-ready .hero-bottom{transition-delay:.5s}.is-ready .hero-orbit{transition-delay:.6s}.capability-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.capability{position:relative;min-height:300px;padding:1.3rem 1.5rem 2rem 0;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;text-align:left;cursor:pointer}.capability:not(:first-child){padding-left:1.5rem;border-left:1px solid var(--line)}.capability>span{font:500 10px DM Mono;color:var(--terra)}.capability h2{margin:4rem 0 1rem;font:700 clamp(2.4rem,4vw,4.7rem)/.85 "Barlow Condensed";text-transform:uppercase;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.capability p{max-width:245px;margin:0;color:var(--muted);opacity:.65;transition:opacity .3s}.capability i{position:absolute;right:1.2rem;bottom:1.3rem;width:0;height:1px;background:var(--terra);transition:width .45s ease}.capability:hover h2,.capability.is-active h2{transform:translate(.08em);color:var(--terra)}.capability:hover p,.capability.is-active p{opacity:1}.capability.is-active i{width:55%}.work{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 90%,var(--amber)),var(--paper) 40%)}.work-heading{display:grid;grid-template-columns:1.2fr .6fr;gap:3rem;align-items:end;margin-bottom:clamp(4rem,9vw,8.5rem)}.work-heading h2{font-size:clamp(5rem,12vw,12rem)}.work-heading p{max-width:350px;margin:0 0 .5rem;color:var(--muted)}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:6ch minmax(0,1fr) 13ch 7ch;gap:1.2rem;align-items:center;min-height:178px;position:relative;border-bottom:1px solid var(--line);transition:padding .35s ease,background .35s ease}.project:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--terra);transition:width .5s ease}.project.is-active:before,.project:hover:before{width:100%}.project.is-active{padding-left:1rem;background:color-mix(in srgb,var(--terra) 7%,transparent)}.project-index,.project-role,.project-link,.project-private{font:500 10px DM Mono;letter-spacing:.07em}.project-index{align-self:start;padding-top:1.55rem;color:var(--terra);transition:transform .35s ease}.project.is-active .project-index{transform:translateY(.5rem)}.project-category{margin:0 0 .45rem;color:var(--muted);text-transform:uppercase}.project-category span{color:var(--terra)}.project h3{margin:0;font:700 clamp(2.6rem,5.2vw,5.9rem)/.83 "Barlow Condensed";letter-spacing:-.03em;text-transform:uppercase;transition:letter-spacing .35s,color .35s}.project.is-active h3{color:var(--terra);letter-spacing:-.01em}.project-description{max-width:430px;margin:.55rem 0 0;color:var(--muted);font-size:.87rem}.project-tech{margin:.7rem 0 0;color:var(--amber);font:500 9px DM Mono;letter-spacing:.08em}.project-role{color:var(--muted)}.project-link{position:relative;z-index:2;justify-self:end;color:var(--terra);text-decoration:none}.project-link:hover{text-decoration:underline}.project-private{justify-self:end;color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 65%,transparent);padding:.45rem .55rem;white-space:nowrap}.project.is-private{background:color-mix(in srgb,var(--ink) 3%,transparent)}.work-preview{position:fixed;z-index:15;top:0;left:0;width:220px;margin:0;overflow:hidden;pointer-events:none;opacity:0;border:1px solid var(--line);background:var(--ink);transform:translate(-999px,-999px);transition:opacity .2s ease}.work-preview.is-active{opacity:1}.work-preview img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;filter:saturate(.75) contrast(1.1)}.work-preview span{display:block;padding:.45rem .6rem;color:var(--paper);font:500 9px DM Mono;letter-spacing:.08em}.play{position:relative;background:var(--ink);color:var(--paper)}.play:before{content:"01 10 01";position:absolute;right:5vw;top:12%;color:color-mix(in srgb,var(--terra) 38%,transparent);font:500 10px DM Mono;letter-spacing:.3em;writing-mode:vertical-rl}.play .section-kicker{color:#a89f8f}.play-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,8vw,10rem);align-items:end}.play h2,.about h2{font-size:clamp(4rem,9vw,9rem)}.play p{max-width:340px;color:#bdb4a3}.game-instructions{margin-top:2rem!important;line-height:2!important}.game-instructions kbd{display:inline-block;padding:.1rem .35rem;border:1px solid rgba(244,234,215,.45);color:var(--paper)}.game-start{margin-top:1.6rem;padding:.9rem 1rem;border:1px solid var(--terra);background:var(--terra);color:#fff;cursor:pointer;font:500 11px DM Mono;letter-spacing:.08em;transition:background .2s,color .2s,transform .2s}.game-start:hover{transform:translate(.3rem);background:transparent;color:var(--terra)}.game-shell{border-top:1px solid rgba(244,234,215,.35)}.game-status{display:flex;justify-content:space-between;padding:.85rem 0}.game-status b{color:var(--terra);font-weight:500}.game-shell canvas{display:block;width:100%;height:auto;border:1px solid rgba(244,234,215,.35)}.game-controls{display:flex;justify-content:end;gap:.5rem;padding-top:.7rem}.game-controls button{width:52px;height:40px;border:1px solid rgba(244,234,215,.4);background:transparent;color:var(--paper);cursor:pointer;font-size:1.25rem}.game-controls button:active,.game-controls button:hover{border-color:var(--terra);background:var(--terra)}.score-note{margin:1rem 0 0;color:var(--amber)}.about{background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--paper) 92%,var(--coral)))}.about-layout{display:grid;grid-template-columns:1.2fr .4fr;gap:4rem;align-items:end;max-width:1000px;margin-left:auto}.about-copy p{max-width:560px;font-size:clamp(1rem,1.35vw,1.18rem)}.about-copy .arrow-link{margin-top:2rem}.about-margin{margin:0;color:var(--terra);font:700 clamp(1.2rem,2vw,2rem)/.85 "Barlow Condensed";letter-spacing:.04em;text-align:right}.contact{display:flex;flex-direction:column;min-height:78vh;background:var(--terra);color:#fff}.contact .section-kicker{color:#ffffffad}.contact .section-kicker span:first-child{color:var(--paper)}.contact-prelude{margin:auto 0 1rem}.contact h2{font-size:clamp(5rem,14.5vw,15rem)}.contact h2 em{color:var(--ink)}.contact-email{margin-top:3rem;font:600 clamp(1.15rem,2.8vw,2.7rem)/1.1 "Barlow Condensed";letter-spacing:.01em;text-underline-offset:.22em}.contact-email:hover{color:var(--ink)}.contact-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:3rem;font:500 10px DM Mono;letter-spacing:.1em}.contact-meta a{text-decoration:none}.contact-meta a:hover{text-decoration:underline}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.3rem clamp(1.1rem,6vw,7.5rem);background:var(--ink);color:var(--paper)}footer a{color:var(--terra);text-decoration:none}.footer-socials{display:flex;gap:1rem}.reveal,.scroll-lift{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible,.scroll-lift.is-visible{opacity:1;transform:none}@keyframes signal{50%{transform:scaleX(.45);opacity:.45}}@keyframes drift{50%{transform:translateY(10px)}}@keyframes orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.hero-title span,.hero-title em,.hero-enter,.reveal,.scroll-lift,.wordmark,.site-header nav,.theme-toggle{opacity:1;transform:none}}@media(max-width:760px){.site-header{grid-template-columns:1fr auto auto;height:62px}.nav-toggle{display:block;margin-right:1rem;color:var(--terra);letter-spacing:.12em}.site-header nav{position:absolute;top:61px;right:0;left:0;display:flex;justify-content:space-between;padding:1.1rem;border-bottom:1px solid var(--line);background:var(--paper);visibility:hidden;opacity:0;transform:translateY(-.65rem);transition:opacity .28s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s}.is-ready .site-header nav{opacity:0;transform:translateY(-.65rem)}.is-ready .site-header nav.is-open{visibility:visible;opacity:1;transform:none;transition-delay:0s}.site-header nav .nav-indicator{bottom:.35rem}.section{padding-left:1.1rem;padding-right:1.1rem}.hero{padding-top:8rem}.hero-title{font-size:clamp(4.8rem,19vw,8rem)}.hero-signal{right:1rem;top:22%;opacity:.45}.hero-orbit{display:none}.hero-bottom,.work-heading,.play-grid,.about-layout{grid-template-columns:1fr}.hero-bottom{margin-top:4rem}.section-kicker{grid-template-columns:3ch auto}.section-kicker b{display:none}.capability-list{grid-template-columns:1fr 1fr}.capability{min-height:230px}.capability:nth-child(3){padding-left:0;border-left:0}.capability h2{margin-top:2.8rem}.project{grid-template-columns:3ch 1fr auto;gap:.7rem;min-height:0;padding:1.3rem 0;align-items:start}.project-index{padding-top:.25rem}.project-copy{grid-column:2/4}.project-role{grid-column:2}.project-link{grid-column:3;grid-row:2;align-self:end}.project h3{font-size:clamp(2.7rem,12vw,4.8rem)}.project-description{font-size:.8rem}.work-preview{display:none}.play h2,.about h2{font-size:clamp(4.2rem,18vw,7rem)}.contact h2{font-size:clamp(4.4rem,19vw,8rem)}.contact-meta,footer{flex-wrap:wrap}.about-margin{display:none}}@media(max-width:420px){.capability-list{grid-template-columns:1fr}.capability,.capability:not(:first-child),.capability:nth-child(3){min-height:0;padding-left:0;border-left:0}.capability h2{margin:2.2rem 0 .6rem}}
