:root{--bg: #060608;--bg-raise: #101016;--ink: #f2f2f5;--ink-dim: #8b8b98;--line: rgba(242, 242, 245, .14);--accent: #ff2e1f;--accent-soft: rgba(255, 46, 31, .55);--font-display: "Archivo Expanded", "Arial Black", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--chrome-pad: clamp(1.1rem, 2.5vw, 2.2rem);--chrome-bottom: calc(var(--chrome-pad) * 2 + 3.6rem)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-mono);font-size:15px;line-height:1.6;overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:#fff}@media (pointer: fine){body.cursor-on,body.cursor-on a,body.cursor-on button{cursor:none}}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;display:block;touch-action:none}body:not(.blur-bg):not(.menu-open),body:not(.blur-bg):not(.menu-open) .page{touch-action:none;overscroll-behavior:none}.page-blur{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:0;background:#06060866;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);transition:opacity .7s var(--ease-out)}body.blur-bg .page-blur{opacity:1}.chrome{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:var(--chrome-pad);z-index:40;pointer-events:none}.chrome>*{pointer-events:auto}.wordmark{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:900;letter-spacing:.14em;font-size:.95rem}.wordmark__logo{height:4.73rem;width:2.523rem;display:block;background-image:url(../logo-still.webp);background-repeat:no-repeat;background-size:100% 100%;transition:transform .5s var(--ease-out),filter .3s}.wordmark:hover .wordmark__logo{transform:scale(1.12) rotate(-3deg);filter:drop-shadow(0 0 10px var(--accent-soft))}.wordmark em{font-style:normal;color:var(--accent)}.menu-toggle{display:flex;align-items:center;gap:.8rem;background:#06060899;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.28em;padding:.7rem 1.2rem;transition:border-color .3s,color .3s}.menu-toggle:hover{border-color:var(--accent);color:var(--accent)}.menu-toggle__icon{display:flex;flex-direction:column;gap:4px}.menu-toggle__icon i{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .45s var(--ease-out),opacity .3s,width .45s var(--ease-out)}body.menu-open .menu-toggle__icon i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}body.menu-open .menu-toggle__icon i:nth-child(2){opacity:0;width:0}body.menu-open .menu-toggle__icon i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;visibility:hidden;pointer-events:none}.menu.is-open{visibility:visible;pointer-events:auto}.menu:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0a0a10b8,#040407f2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .5s}.menu.is-open:before{opacity:1}.menu__ring{position:absolute;width:min(82vmin,720px);height:min(82vmin,720px);opacity:0;pointer-events:none}.reticle{width:100%;height:100%;overflow:visible}.reticle circle,.reticle polygon,.reticle path{fill:none}.reticle__spin,.reticle__spin-rev,.reticle__spin-slow{transform-box:fill-box;transform-origin:center}.reticle__spin{animation:retspin 70s linear infinite}.reticle__spin-rev{animation:retspin 95s linear infinite reverse}.reticle__spin-slow{animation:retspin 130s linear infinite}.r-dash{stroke:var(--accent-soft);stroke-width:.5;stroke-dasharray:1.6 6}.r-ticks{stroke:var(--line);stroke-width:3;stroke-dasharray:.6 8.9}.r-thin{stroke:var(--line);stroke-width:.4}.r-poly{stroke:var(--accent-soft);stroke-width:.4}.r-dash2{stroke:#f2f2f51f;stroke-width:.4;stroke-dasharray:3 4}.r-brackets path{stroke:var(--accent);stroke-width:1.1}@keyframes retspin{to{transform:rotate(360deg)}}.menu__list{position:relative;list-style:none;display:flex;flex-direction:column;align-items:center;gap:.35rem}.menu__item{pointer-events:none}.menu__item--parent{display:flex;flex-direction:column;align-items:center}.menu.is-open .menu__link{pointer-events:auto}.menu__link{display:inline-block;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:900;font-size:clamp(1.2rem,4.2vmin,2.1rem);letter-spacing:.1em;white-space:nowrap;padding:.28em .7em;opacity:0;position:relative;transition:color .25s}.menu__link:hover,.menu__link.is-active{color:var(--accent)}.menu__link:after{content:"";position:absolute;left:.7em;right:.7em;bottom:.12em;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}.menu__link:hover:after{transform:scaleX(1)}.menu__link--parent:before{content:"+";position:absolute;right:-.15em;top:.2em;font-family:var(--font-mono);font-size:.7rem;color:var(--accent);transition:transform .35s var(--ease-out)}.menu__item--parent:hover .menu__link--parent:before,.menu__item--parent.is-open .menu__link--parent:before{transform:rotate(135deg)}.menu__sub{list-style:none;overflow:hidden;max-height:0;opacity:0;margin-top:0;display:flex;flex-direction:column;align-items:center;gap:.05rem;pointer-events:none;transition:max-height .5s var(--ease-out),opacity .35s,margin-top .5s var(--ease-out)}.menu.is-open .menu__item--parent:hover .menu__sub,.menu.is-open .menu__item--parent.is-open .menu__sub{max-height:min(64vh,34rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;opacity:1;margin-top:.4rem;pointer-events:auto}.menu__sublink{display:inline-block;text-decoration:none;color:var(--ink-dim);font-family:var(--font-mono);font-size:clamp(.72rem,1.7vmin,.92rem);letter-spacing:.22em;text-transform:uppercase;padding:.3em .6em;transition:color .2s,letter-spacing .2s}.menu__sublink:hover{color:var(--accent);letter-spacing:.28em}.menu__sublink.is-active{color:var(--accent)}.menu__sublink.is-active:before{content:"›";margin-right:.5em;opacity:.8}.menu__meta{position:absolute;bottom:var(--chrome-pad);left:0;right:0;display:flex;justify-content:space-between;padding:0 var(--chrome-pad);font-size:.72rem;letter-spacing:.15em;opacity:0;transition:opacity .5s .3s}.menu.is-open .menu__meta{opacity:1}.menu__meta a{color:var(--ink-dim);text-decoration:none;transition:color .25s}.menu__meta a:hover{color:var(--accent)}.menu__social{display:flex;gap:1.4rem}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0a0e;display:grid;place-items:center;transform:scaleY(0);transform-origin:top;pointer-events:none}.veil__label{font-family:var(--font-display);font-weight:900;font-size:clamp(1rem,3vw,1.6rem);letter-spacing:.3em;color:var(--accent);opacity:0}.page{position:relative;z-index:10;min-height:100vh}.section-label{font-size:.68rem;letter-spacing:.34em;color:var(--ink-dim);text-transform:uppercase;display:flex;align-items:center;gap:.8rem}.section-label:before{content:"";width:2.4rem;height:2px;background:var(--accent)}.home{height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--chrome-pad);pointer-events:none}.home__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.6rem,11vw,9.5rem);line-height:.92;letter-spacing:.02em;text-transform:uppercase;overflow:hidden}.home__title .line{display:block;overflow:hidden}.home__title .line>span{display:inline-block;will-change:transform}.home__title em{font-style:normal;-webkit-text-stroke:2px var(--accent);color:transparent}.home__sub{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-size:.72rem;letter-spacing:.26em;color:var(--ink-dim);text-transform:uppercase}.home__sub span{opacity:0}.home__sub b{color:var(--accent);font-weight:400}.home__hint{position:absolute;top:50%;right:var(--chrome-pad);transform:rotate(90deg) translate(50%);transform-origin:right center;font-size:.62rem;letter-spacing:.4em;color:var(--ink-dim);text-transform:uppercase;opacity:0}.work{padding:calc(var(--chrome-pad) * 3.5) var(--chrome-pad) var(--chrome-bottom);max-width:1400px;margin:0 auto}.work__head{margin-bottom:clamp(2rem,6vh,4rem)}.work__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,7vw,5.5rem);text-transform:uppercase;line-height:1;margin:.6rem 0 1rem}.work__blurb{color:var(--ink-dim);max-width:46ch}.work__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:1.2rem}.card{position:relative;display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#10101899;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;transition:border-color .35s,transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}.card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 18px 40px -18px #000c}.card__media{aspect-ratio:16 / 10;overflow:hidden;position:relative;background:var(--bg-raise)}.card__media img,.card__media canvas{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease-out)}.card:hover .card__media img,.card:hover .card__media canvas{transform:scale(1.05)}.card__body{padding:1.1rem 1.2rem 1.3rem}.card__title{font-family:var(--font-display);font-weight:900;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;transition:color .25s}.card:hover .card__title{color:var(--accent)}.card__meta{margin-top:.4rem;font-size:.7rem;letter-spacing:.18em;color:var(--ink-dim);text-transform:uppercase}.card__index{position:absolute;top:.8rem;right:.9rem;font-size:.66rem;letter-spacing:.2em;color:var(--accent);background:#060608b3;padding:.25rem .5rem;border-radius:2px}.project{padding:calc(var(--chrome-pad) * 3.5) var(--chrome-pad) var(--chrome-bottom);max-width:1100px;margin:0 auto}.project__back{color:var(--ink-dim);text-decoration:none;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;transition:color .25s}.project__back:hover{color:var(--accent)}.project__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,6.4vw,4.6rem);text-transform:uppercase;line-height:1;margin:1.2rem 0 1.8rem}.project__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:2.4rem}.project__fact{background:#0e0e14d9;padding:.9rem 1.1rem}.project__fact dt{font-size:.62rem;letter-spacing:.26em;color:var(--ink-dim);text-transform:uppercase}.project__fact dd{margin-top:.3rem;font-size:.86rem}.project__hero{position:relative;aspect-ratio:16 / 9;border:1px solid var(--line);margin-bottom:2.4rem;overflow:hidden;background:var(--bg-raise)}.project__hero img,.project__hero canvas{width:100%;height:100%;display:block;object-fit:cover}.project__body{max-width:62ch}.project__body p{margin-bottom:1.2em;color:#c9c9d4}.project__embed{margin:2rem 0;aspect-ratio:16/9;border:1px solid var(--line)}.project__embed iframe{width:100%;height:100%;border:0}.project__clips{display:grid;gap:.4rem}.project__gallery{margin-top:2.4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.project__shot{margin:0;border:1px solid var(--line);overflow:hidden}.project__shot img{width:100%;height:100%;object-fit:cover;display:block}.project__nav{margin-top:3.4rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.project__nav a{color:var(--ink);text-decoration:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;transition:color .25s}.project__nav a:hover{color:var(--accent)}.contact{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--chrome-pad) * 3.5) var(--chrome-pad) var(--chrome-bottom);max-width:1100px;margin:0 auto}.contact__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,8vw,6rem);text-transform:uppercase;line-height:.95;margin:1rem 0 2rem}.contact__email{font-family:var(--font-display);font-weight:900;font-size:clamp(1.1rem,3.4vw,2.2rem);color:var(--accent);text-decoration:none;border-bottom:3px solid transparent;transition:border-color .3s;width:fit-content}.contact__email:hover{border-color:var(--accent)}.contact__phone{margin-top:.9rem;font-family:var(--font-display);font-weight:900;font-size:clamp(.95rem,2.6vw,1.6rem);color:var(--ink);text-decoration:none;letter-spacing:.08em;width:fit-content;transition:color .3s}.contact__phone:hover{color:var(--accent)}.contact__links{margin-top:3rem;display:flex;flex-wrap:wrap;gap:1rem}.contact__links a{color:var(--ink);text-decoration:none;background:#10101899;border:1px solid var(--line);border-radius:999px;padding:.7rem 1.5rem;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;transition:border-color .3s,color .3s,background .3s}.contact__links a:hover{border-color:var(--accent);color:#fff;background:var(--accent)}.notfound{height:100vh;display:grid;place-items:center;text-align:center}.notfound h1{font-family:var(--font-display);font-size:clamp(3rem,12vw,8rem)}.notfound a{color:var(--accent)}.cursor{position:fixed;top:0;left:0;z-index:100;pointer-events:none;display:none}@media (pointer: fine){body.cursor-on .cursor{display:block}}.cursor__dot{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--accent)}.cursor__ring{position:absolute;width:34px;height:34px;margin:-17px;border:1px solid var(--accent-soft);border-radius:50%;transition:transform .25s var(--ease-out),border-color .25s}.cursor.is-hover .cursor__ring{transform:scale(1.7);border-color:var(--accent)}body.bird-mode .cursor,body.comet-mode .cursor,body.ship-mode .cursor{display:none!important}@media (pointer: fine){body.cursor-on.bird-mode.menu-open .cursor,body.cursor-on.comet-mode.menu-open .cursor,body.cursor-on.ship-mode.menu-open .cursor,body.cursor-on.ship-mode.blur-bg .cursor,body.cursor-on.bird-mode.blur-bg .cursor,body.cursor-on.comet-mode.blur-bg .cursor{display:block!important}}.ar-btn{pointer-events:auto;position:fixed;bottom:var(--chrome-pad);right:var(--chrome-pad);z-index:40;background:#060608b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.26em;padding:.75rem 1.3rem;transition:border-color .3s,color .3s}.ar-btn:hover{border-color:var(--accent);color:var(--accent)}.audio-controls{position:fixed;bottom:var(--chrome-pad);left:var(--chrome-pad);z-index:40;display:flex;gap:.6rem}.audio-btn{pointer-events:auto;background:#060608b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;color:var(--ink-dim);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.26em;padding:.75rem 1.3rem;transition:border-color .3s,color .3s}.audio-btn:hover{border-color:var(--accent);color:var(--accent)}.audio-btn.is-on{border-color:var(--accent);color:var(--accent);box-shadow:0 0 14px -4px var(--accent-soft),inset 0 0 10px -6px var(--accent-soft)}.audio-btn.is-denied{border-color:var(--accent);animation:denyshake .35s}@keyframes denyshake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.reveal{opacity:0;transform:translateY(28px)}@media (max-width: 700px){.menu__ring{width:88vmin;height:88vmin}.menu__meta{flex-direction:column;gap:.8rem;align-items:center}.home__hint{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.converse{position:fixed;left:50%;bottom:calc(var(--chrome-pad) + 3.6rem);transform:translate(-50%);z-index:38;width:min(46rem,88vw);display:flex;flex-direction:column;align-items:center;gap:.9rem;pointer-events:none}.converse__say{max-width:100%;opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s;background:#060608b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:.9rem;padding:.85rem 1.25rem;color:var(--ink);font-family:var(--font-mono);font-size:.82rem;line-height:1.55;letter-spacing:.03em;text-align:center;text-wrap:balance}.converse__say.is-on{opacity:1;transform:translateY(0)}.converse.no-say .converse__say{opacity:0!important}.converse__hint{opacity:0;transition:opacity .4s;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);text-align:center}.converse__hint.is-on{opacity:.75}@media (max-width: 700px){.converse{bottom:calc(var(--chrome-pad) + 4.4rem)}.converse__say{font-size:.76rem;padding:.7rem 1rem}}.converse__say.is-thinking{opacity:.45}.converse__say.is-thinking:after{content:" …";animation:thinkdots 1.1s steps(3,end) infinite}@keyframes thinkdots{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.converse__rite{pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;display:flex;flex-direction:column;align-items:center;gap:.7rem;width:100%}.converse__rite.is-on{opacity:1;transform:translateY(0);pointer-events:auto}.converse__rite-ask{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;line-height:1.5;color:var(--ink-dim);text-align:center;text-wrap:balance;max-width:32rem}.converse__rite-opts{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.converse__rite-opt{pointer-events:auto;background:#060608b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;padding:.6rem 1.1rem;cursor:pointer;transition:border-color .25s,color .25s,transform .25s}.converse__rite-opt:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}@media (max-width: 700px){.converse__rite-ask{font-size:.7rem}.converse__rite-opt{font-size:.63rem;padding:.55rem .9rem}}
