:root{--ink:#100f0d;--ink-2:#191713;--ink-3:#24211c;--paper:#efe9dc;--muted:#a39b8c;--accent:#ff5a36;--amber:#ffb547;--line:#efe9dc38;--display:"Anton", "Impact", "Arial Narrow", sans-serif;--body:"Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--hand:"Caveat", "Comic Sans MS", cursive;--gutter:clamp(18px, 4vw, 56px);--p:0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ink);color:var(--paper);font:400 clamp(16px, 1.05vw + 10px, 19px) / 1.6 var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}a{color:inherit}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px dashed var(--accent);outline-offset:4px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--accent);color:var(--ink);padding:8px 14px;font-weight:600;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}#gl{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}.tag{background:var(--paper);color:var(--ink);font:400 1em / 1 var(--display);text-transform:uppercase;letter-spacing:.01em;box-shadow:4px 4px 0 var(--ink);margin:0;padding:.18em .42em .1em;display:inline-block;transform:rotate(-1.5deg)}.tag--accent{background:var(--accent)}.tag--big{font-size:clamp(2.2rem,5vw,3.6rem)}.draw{fill:none;stroke:var(--accent);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400px;transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1) .2s}.in .draw,.draw.in{stroke-dashoffset:0}.nav{z-index:20;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 14px;font:500 .82rem / 1 var(--mono);text-transform:uppercase;letter-spacing:.06em;pointer-events:none;background:linear-gradient(#100f0deb,#100f0d99 60%,#0000);align-items:center;gap:24px;display:flex;position:fixed;inset:0 0 auto}.nav>*{pointer-events:auto}.nav__logo{font:400 1.7rem / 1 var(--display);text-transform:none;letter-spacing:0;text-decoration:none}.nav__cursor{color:var(--accent);animation:1.06s step-end infinite blink}@keyframes blink{50%{opacity:0}}.nav__links{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#100f0db8;border-radius:999px;gap:4px;margin-left:auto;padding:5px;display:flex}.nav__links a{border-radius:999px;padding:8px 12px;text-decoration:none;transition:background .2s,color .2s}.nav__links a:hover,.nav__links a.is-active{background:var(--paper);color:var(--ink)}.nav__clock{color:var(--muted);align-items:center;gap:8px;margin:0;display:flex}.nav__dot{background:#6ee26e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #6ee26e}@media (width<=860px){.nav__links{display:none}.nav__clock{margin-left:auto}}.stage{z-index:1;height:360vh;position:relative}.stage__pin{pointer-events:none;height:100svh;position:sticky;top:0;overflow:hidden}.stage__pin a,.stage__pin button{pointer-events:auto}.hero{left:var(--gutter);bottom:calc(12vh + env(safe-area-inset-bottom,0px));max-width:min(46vw,640px);opacity:calc(1 - var(--p) * 6);transform:translateY(calc(var(--p) * -160px));position:absolute}.hero__hello{font:600 clamp(1.5rem, 2.4vw, 2.1rem) / 1 var(--hand);color:var(--amber);transform-origin:0;margin:0 0 .4rem;transform:rotate(-3deg)}.hero__name{font:400 clamp(4.2rem, 11.5vw, 10.5rem) / .86 var(--display);text-transform:uppercase;letter-spacing:-.01em;margin:0}.hero__name span{display:block}.hero__last{color:#0000;-webkit-text-stroke:2px var(--paper);transition:color .3s}.hero__name:hover .hero__last{color:var(--accent);-webkit-text-stroke-color:var(--accent)}.hero__aka{font:700 clamp(1.4rem, 2.2vw, 2rem) / 1 var(--hand);color:var(--accent);margin:0;position:absolute;top:3.2rem;right:-1.5rem;transform:rotate(8deg)}.hero__role{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:1.4rem 0 .8rem;font-size:clamp(1.15rem,1.7vw,1.6rem);display:flex}.hero__amp{font:700 1.6em / 1 var(--hand);color:var(--muted)}.scribble{font:400 1em / 1 var(--display);text-transform:uppercase;position:relative}.scribble svg{width:112%;height:16px;position:absolute;bottom:-14px;left:-6%;overflow:visible}.hero__meta{color:#cfc7b7;max-width:30ch;font:500 .9rem / 1.5 var(--mono);margin:0}.hint{font:600 1.35rem / 1.1 var(--hand);color:var(--paper);opacity:calc(1 - var(--p) * 7);align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:9vh;left:44vw}.hint svg{width:120px;overflow:visible}.hint b{color:var(--amber)}.hint>span{background:#100f0dd1;border-radius:12px;padding:8px 14px 6px;transform:rotate(-2deg)}.orbit-copy{left:var(--gutter);max-width:340px;opacity:clamp(0, (var(--p) - .42) * 6, 1);transform:translateY(calc((1 - clamp(0, (var(--p) - .42) * 6, 1)) * 30px));position:absolute;top:18vh}.orbit-copy p{color:var(--muted);font:500 .92rem / 1.5 var(--mono);background:#100f0dd9;border-radius:10px;margin:1.2rem 0 0;padding:10px 14px}.sticker{right:var(--gutter);bottom:calc(6vh + env(safe-area-inset-bottom,0px));width:118px;height:118px;color:var(--ink);opacity:calc(1 - var(--p) * 4);place-items:center;text-decoration:none;display:grid;position:absolute}.sticker svg{background:var(--amber);border-radius:50%;width:100%;height:100%;animation:14s linear infinite spin;position:absolute;inset:0}.sticker text{font:600 10.5px var(--mono);letter-spacing:.08em;fill:var(--ink)}.sticker__face{font:700 2rem / 1 var(--hand);transition:transform .3s;position:relative}.sticker:hover .sticker__face{transform:scale(1.25)rotate(-10deg)}@keyframes spin{to{transform:rotate(360deg)}}.scroll-cue{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));font:500 .7rem / 1 var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);opacity:calc(1 - var(--p) * 10);flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;transform:translate(-50%)}.scroll-cue span{background:linear-gradient(var(--paper), transparent);transform-origin:top;width:1px;height:34px;animation:1.6s ease-in-out infinite drip}@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.card-tip{background:var(--paper);color:var(--ink);font:600 .8rem / 1.2 var(--mono);white-space:nowrap;opacity:0;border-radius:999px;padding:6px 12px;transition:opacity .15s,transform .15s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.8)}.card-tip.is-on{opacity:1;transform:translate(-50%,-50%)scale(1)}.term-input{opacity:0;border:0;width:1px;height:1px;padding:0;font-size:16px;position:absolute;top:40%;left:50%}@media (width<=860px),(aspect-ratio<=19/20){.hero{max-width:none;right:var(--gutter);bottom:calc(9vh + env(safe-area-inset-bottom,0px))}.hero__aka{top:2.2rem;left:62vw;right:auto}.hint{left:auto;right:var(--gutter);flex-direction:row-reverse;font-size:1.1rem;top:13vh;bottom:auto}.hint svg{display:none}.sticker{width:88px;height:88px;top:calc(64px + env(safe-area-inset-top,0px));bottom:auto;left:var(--gutter);right:auto}.sticker text{font-size:12px}.sticker__face{font-size:1.5rem}.orbit-copy{top:auto;bottom:10vh;right:var(--gutter)}}.content{z-index:2;background:var(--ink);padding:0 var(--gutter) 0;position:relative}.torn{width:100%;height:40px;fill:var(--ink);position:absolute;top:-39px;left:0}.section{max-width:1180px;margin:0 auto;padding-block:clamp(72px,11vw,140px) 0}.section>.tag{margin-bottom:clamp(28px,4vw,48px)}.section__lede{max-width:54ch;color:var(--muted);margin:-12px 0 40px}.reveal{opacity:0;transition:opacity .8s,translate .8s cubic-bezier(.2,.7,.2,1);translate:0 28px}.reveal.in{opacity:1;translate:0}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;translate:none}}.about{columns:2 22rem;column-gap:56px;font-size:1.12em}.about p{break-inside:avoid;margin:0 0 1.1em}.about p:first-child:first-letter{float:left;font:400 4.2em / .8 var(--display);color:var(--accent);margin:.08em .12em 0 0}.about__note{border-top:1px dashed var(--line);color:var(--muted);font:500 .78rem / 1.5 var(--mono);padding-top:14px}.about__note b{color:var(--paper);text-transform:uppercase;font-weight:600}.stats{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:56px 0 0;padding:0;list-style:none;display:grid}.stats li{padding:26px 20px 24px 0;position:relative}.stats li+li{border-left:1px dashed var(--line);padding-left:20px}.stats b{font:400 clamp(3rem, 6vw, 4.6rem) / 1 var(--display);display:block}.stats span{color:var(--muted);font:500 .82rem / 1.4 var(--mono)}.stats svg{pointer-events:none;width:140px;height:100px;position:absolute;top:4px;left:-14px;overflow:visible}.stats li+li svg{left:6px}.work{border-top:2px solid var(--paper);margin:0;padding:0;list-style:none}.work li{border-bottom:1px dashed var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px 48px;padding:28px 0;display:grid}.work h3{font:400 clamp(1.8rem, 3.4vw, 2.6rem) / 1 var(--display);text-transform:uppercase;margin:0 0 6px}.work__meta{color:var(--muted);font:500 .85rem / 1.6 var(--mono);margin:0}.work__meta b{color:var(--paper);font-weight:600}.work__items{flex-wrap:wrap;align-content:flex-start;gap:8px 18px;margin:0;padding:6px 0 0;list-style:none;display:flex}.work__items li{border:0;padding:0;display:block}.work__items a,.work__items span{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;text-decoration-thickness:2px}@media (width<=720px){.work li{grid-template-columns:1fr}}.projects{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:22px;display:grid}.project{--hue:var(--accent);background:var(--ink-2);border:1px solid var(--line);border-radius:22px;flex-direction:column;padding:26px 26px 24px;scroll-margin-top:100px;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s;display:flex;position:relative;overflow:hidden}.project:before{content:"";background:radial-gradient(circle, var(--hue) 2.4px, transparent 2.8px) 0 0 / 13px 13px;opacity:.85;width:220px;height:220px;transition:transform .6s;position:absolute;top:-60px;right:-60px;-webkit-mask:radial-gradient(circle at 70% 30%,#000 0%,#0000 70%);mask:radial-gradient(circle at 70% 30%,#000 0%,#0000 70%)}.project:hover{border-color:var(--hue);transform:translateY(-6px)rotate(-.4deg)}.project:hover:before{transform:scale(1.25)rotate(12deg)}.project.is-flash{animation:1.6s flash}@keyframes flash{0%,40%{border-color:var(--hue);box-shadow:0 0 0 6px color-mix(in srgb, var(--hue) 35%, transparent)}}.project__num{font:400 3.6rem / 1 var(--display);color:var(--hue)}.project__kind{background:var(--hue);color:var(--ink);font:600 .72rem / 1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-self:flex-start;margin:14px 0 12px;padding:4px 12px}.project h3{font:400 clamp(1.7rem, 2.6vw, 2.1rem) / 1.02 var(--display);text-transform:uppercase;margin:0}.project__client{color:var(--muted);font:500 .8rem / 1.4 var(--mono);margin:6px 0 14px}.project__blurb{margin:0 0 14px}.project ul:not(.chips){color:var(--muted);margin:0 0 18px;padding:0;font-size:.92em;list-style:none}.project ul:not(.chips) li{margin-bottom:6px;padding-left:18px;position:relative}.project ul:not(.chips) li:before{content:"→";color:var(--hue);position:absolute;left:0}.chips{flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);font:500 .72rem / 1.5 var(--mono);border-radius:999px;padding:3px 10px}.project__link{font:600 .82rem / 1 var(--mono);color:var(--hue);margin-top:16px}.side{border-top:2px solid var(--paper);counter-reset:side;margin:0;padding:0;list-style:none}.side li{counter-increment:side;border-bottom:1px dashed var(--line);grid-template-columns:56px minmax(0,1fr) auto;align-items:baseline;gap:6px 24px;padding:24px 0;transition:background .25s,padding .25s;display:grid}.side li:before{content:counter(side, decimal-leading-zero);font:500 .85rem / 1 var(--mono);color:var(--accent)}.side li:hover{background:var(--ink-2);padding-inline:14px}.side h3{font:400 clamp(1.6rem, 3vw, 2.3rem) / 1 var(--display);text-transform:uppercase;margin:0}.side p{color:var(--muted);max-width:62ch;margin:6px 0 0}.side small{font:500 .75rem / 1.4 var(--mono);color:var(--paper);margin-top:8px;display:block}.side__links{font:600 .82rem / 1 var(--mono);white-space:nowrap;gap:14px;display:flex}.side__links a{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;text-decoration-thickness:2px}@media (width<=720px){.side li{grid-template-columns:40px minmax(0,1fr)}.side__links{grid-column:2;margin-top:10px}}.marquee{margin:0 calc(var(--gutter) * -1) 44px;background:var(--accent);color:var(--ink);padding:18px 0;overflow:hidden;transform:rotate(-1.5deg)}.marquee__track{width:max-content;font:400 clamp(1.8rem, 3.6vw, 2.8rem) / 1 var(--display);text-transform:uppercase;animation:40s linear infinite marquee;display:flex}.marquee__track span{padding:0 .6em}.marquee__track span:after{content:"✳";vertical-align:middle;margin-left:1.2em;font-size:.6em}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee__track,.sticker svg{animation:none}}.skills{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0 40px;margin:0;display:grid}.skills div{border-top:1px dashed var(--line);padding:20px 0}.skills dt{font:600 .78rem / 1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:10px}.skills dd{margin:0}.contact{padding-bottom:clamp(60px,9vw,120px)}.contact__title{font:400 clamp(3.4rem, 10vw, 9rem) / .9 var(--display);text-transform:uppercase;margin:0 0 40px}.contact__title span{display:block}.contact__outline{color:#0000;-webkit-text-stroke:2px var(--accent)}.contact__body{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px 48px;display:grid}.contact__body>p:first-child{max-width:46ch;margin:0;font-size:1.12em}.contact__actions{flex-wrap:wrap;gap:12px;display:flex}.btn{border:2px solid var(--paper);color:var(--paper);font:600 .92rem / 1 var(--mono);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:14px 22px;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.btn:hover{background:var(--paper);color:var(--ink);transform:translateY(-3px)rotate(-1deg)}.btn--accent{background:var(--accent);border-color:var(--accent);color:var(--ink)}.btn--accent:hover{background:var(--amber);border-color:var(--amber)}.contact__note{font:600 1.5rem / 1.2 var(--hand);color:var(--muted);grid-column:1/-1;margin:18px 0 0;position:relative}.contact__note svg{width:120px;position:absolute;top:-30px;left:0;overflow:visible}.contact__note span{color:var(--amber)}@media (width<=720px){.contact__body{grid-template-columns:1fr}.contact__note{padding-left:0}.contact__note svg{display:none}}.footer{max-width:1180px;padding:28px 0 calc(28px + env(safe-area-inset-bottom,0px));border-top:1px dashed var(--line);color:var(--muted);font:500 .78rem / 1.5 var(--mono);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:0 auto;display:flex}.footer p{margin:0}.footer code{color:var(--amber)}.no-webgl #gl,.no-webgl .hint,.no-webgl .orbit-copy,.no-webgl .scroll-cue{display:none}.no-webgl .stage{height:100vh}
