@font-face{font-family:"Space Grotesk";src:url("assets/fonts/space-grotesk-variable.ttf") format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:Liberation;src:url('assets/fonts/LiberationSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Liberation;src:url('assets/fonts/LiberationSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Mono;src:url('assets/fonts/LiberationMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--black:#10120f;--ink:#e2e2cd;--muted:#8e9485;--line:#d5d9b426;--yellow:#e5cd71;--handoff:0;color-scheme:dark;font-family:Liberation,Arial,sans-serif;background:#080908;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;min-width:280px}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:none;border:0}button:disabled{cursor:default;opacity:.3}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,main:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}::selection{background:var(--yellow);color:var(--black)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:16px;top:-100px;z-index:100;padding:14px 20px;background:var(--yellow);color:#15160d;font:13px Mono,monospace}.skip:focus{top:16px}.eyebrow{font:10px/1.6 Mono,monospace;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}.glasses-mark{display:block;width:56px;height:26px;background:var(--yellow);mask-image:url('assets/images/avatar/lentes-mask.webp');mask-mode:luminance;mask-repeat:no-repeat;mask-size:416.67% auto;mask-position:47.37% 17.93%;-webkit-mask-image:url('assets/images/avatar/lentes-mask.webp');-webkit-mask-repeat:no-repeat;-webkit-mask-size:416.67% auto;-webkit-mask-position:47.37% 17.93%}
/* One gesture launches a short fall in a horizon-free, black theatrical void. */
.intro-runway{display:none;height:100svh;height:100dvh;background:#000}.intro-active .intro-runway{display:block}.intro-stage{position:relative;height:100%;overflow:hidden;background:#000;touch-action:pan-y}#stage-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .45s}.scene-ready #stage-canvas{opacity:1}.stage-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 47%,transparent 28%,#0002 78%,#0006 100%)}.intro-a11y-skip{position:absolute;z-index:8;top:100%;left:50%;transform:translateX(-50%);margin-top:8px;min-height:44px;padding:10px 12px;border:0;background:transparent;color:#c8ccc3;font:12px/1.6 Mono,monospace;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.intro-a11y-skip:focus-visible{outline:1px solid #f0f1e988;outline-offset:2px}.intro-copy{position:absolute;z-index:4;left:5%;right:5%;top:50%;transform:translateY(-50%);text-align:center;color:#f0f1e9;transition:opacity .18s}.intro-invitation{cursor:pointer;outline-offset:15px;display:flow-root}.intro-invitation h1{font:700 clamp(54px,8vw,132px)/1 "Space Grotesk",Liberation,sans-serif;letter-spacing:-.055em;margin:0;text-shadow:0 3px 22px #0007}.intro-invitation p{font:clamp(12px,1.1vw,17px)/1.6 Mono,monospace;letter-spacing:0;margin:31px 0 0;color:#c8ccc3}.intro-invitation:focus-visible{outline:1px solid #f0f1e988}.intro-falling .intro-invitation{pointer-events:none}.intro-falling .intro-prompt,.intro-falling #intro-prompt{opacity:0;transition:opacity .15s}.intro-title-burst:not(.intro-landed) #intro-title{visibility:hidden;transition:none}.intro-landed .intro-copy{top:9%;transform:none}.intro-landed .intro-invitation{cursor:default}.intro-landed .intro-invitation h1{font-size:clamp(23px,3.6vw,58px);line-height:1.16;letter-spacing:-.06em}.intro-landed .intro-invitation p{display:none}.intro-fallback{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);text-align:center;z-index:5}.intro-fallback button{border:1px solid #e5cd7177;color:var(--yellow);font:12px Mono,monospace;padding:14px 18px}.intro-fallback[hidden]{display:none}.screen-enter{position:absolute;z-index:3;visibility:hidden;padding:0;border:0;background:transparent;border-radius:10%;transition:none}.screen-enter:focus-visible{outline:1px solid #e5cd71b3;outline-offset:-4px;box-shadow:inset 0 0 36px #e5cd7120}.intro-entering .intro-copy{opacity:0;pointer-events:none;transition:opacity .25s}.intro-entering .stage-vignette{opacity:calc(1 - var(--handoff))}
/* The screen becomes the usable page only once the 3D aperture covers the viewport. */
.portfolio{position:relative;min-height:100svh;min-height:100dvh;background:var(--black);padding:0 max(38px,3.8vw);isolation:isolate}.intro-active .portfolio{display:none}.intro-entering .portfolio{display:block;position:fixed;inset:0;overflow:hidden;opacity:var(--handoff);pointer-events:none;z-index:6}.monitor-edge{pointer-events:none;position:fixed;inset:0;z-index:20;border:8px solid #080a08;border-radius:23px;box-shadow:inset 0 0 28px #0009,inset 0 0 2px #b8c3a15c}.monitor-glass{pointer-events:none;position:fixed;inset:0;z-index:19;border-radius:25px;overflow:hidden;background:linear-gradient(133deg,#d8e5d003,transparent 20%,transparent 83%,#d8e5d004);box-shadow:inset 0 0 80px #0002}.monitor-glass:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0000000a 3px 4px);opacity:.3}.monitor-glass svg{position:absolute;width:130px;height:99px;right:5px;top:4px;fill:none;stroke:#ced4b2;stroke-width:.6;opacity:.10}.masthead{min-height:118px;display:flex;gap:40px;align-items:center;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:16px;align-items:center;font:20px Mono,monospace;white-space:nowrap;letter-spacing:-.055em}.wordmark .glasses-mark{width:43px;height:20px}.wordmark .cursor{color:var(--yellow);margin-left:3px}.discipline{font:8px/1.8 Mono,monospace;letter-spacing:.09em;color:#b2b6a3}.discipline span{color:var(--muted);letter-spacing:0}.masthead nav{display:flex;align-items:center;gap:27px;margin-left:auto;font:11px Mono,monospace}.nav-link{padding:15px 0;color:var(--muted)}.nav-link span{font-size:8px;margin-left:3px;vertical-align:super}.nav-link[aria-current=page]{color:var(--yellow);box-shadow:0 1px var(--yellow)}.contact-link{color:#d3d4b9}.categories{display:flex;align-items:center;gap:32px;min-height:75px;border-bottom:1px solid var(--line);font:10px Mono,monospace}.category-button{color:var(--muted);padding:14px 0;white-space:nowrap}.category-button span{font-size:8px;margin-left:6px;color:#676e5b}.category-button[aria-current=true]{color:var(--yellow)}.category-button[aria-current=true]:before{content:'●';font-size:6px;margin-right:9px;vertical-align:middle}.all-work{margin-left:auto;font:9px Mono,monospace;color:var(--muted);white-space:nowrap}.project-stage{display:grid;grid-template-columns:38% 1fr;min-height:calc(100svh - 315px);gap:6%;align-items:center;padding:45px 0}.project-copy{padding:12px 0 32px}.project-copy>.eyebrow{color:var(--yellow);font-size:9px;letter-spacing:.12em}.project-copy h1{font-size:clamp(43px,5.1vw,88px);line-height:1.03;letter-spacing:-.067em;font-weight:400;margin:25px 0 26px;text-wrap:balance}.project-desc{font-size:14px;line-height:1.7;color:#adb39f;max-width:300px}.view-case{display:flex;align-items:center;justify-content:space-between;width:min(290px,100%);border:1px solid #d7d8ac40;color:#d8d8ba;font:10px Mono,monospace;padding:17px 18px;margin-top:35px}.view-case:hover{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.view-case span{font-size:17px}.project-meta{font:8px/1.9 Mono,monospace;color:#6f7663;margin:21px 0 0}.project-art{padding:0;position:relative;width:100%;height:clamp(280px,51svh,610px);background:#090b08;border:1px solid #d4d8b219;overflow:hidden}.project-art img{display:block;width:100%;height:100%;object-fit:contain}.image-corner{position:absolute;inset:auto 0 0;padding:17px 19px;background:linear-gradient(transparent,#050604dd);text-align:left;font:8px Mono,monospace;letter-spacing:.13em;color:#d7dcc5}.image-corner>span{float:right;font-size:15px}.project-strip{display:flex;align-items:center;gap:24px;min-height:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-strip>.eyebrow{font-size:8px;flex-shrink:0;color:#69705e}.project-nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px 20px}.project-button{font:9px Mono,monospace;padding:12px 0;color:#8d9480;text-align:left}.project-button[aria-current=true]{color:var(--yellow)}.selection-arrows{display:flex;gap:7px;margin-left:auto}.arrow{height:35px;min-width:36px;border:1px solid var(--line);font-size:16px}.arrow:hover:not(:disabled){border-color:var(--yellow);color:var(--yellow)}.site-footer{min-height:71px;display:flex;align-items:center;gap:25px;font:8px Mono,monospace;color:#77806a}.site-footer>span{font-size:7px;letter-spacing:.1em}.site-footer>div{display:flex;gap:22px;margin-left:auto}.site-footer a:hover,.site-footer button:hover{color:var(--yellow)}.site-footer button{font:8px Mono,monospace;padding:10px 0}.loading,.error{padding:70px 0}.error a{text-decoration:underline}.error h1{font-weight:400}.case-page{padding-top:28px}.case-top{display:flex;align-items:center;gap:25px;margin-bottom:28px}.back-button{font:10px Mono,monospace;padding:12px 0;color:var(--yellow)}.case-top>.eyebrow{margin-left:auto}.case-top select{font:10px Mono,monospace;max-width:220px;background:#1b1e17;border:1px solid var(--line);padding:12px}.case-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:5%}.gallery{min-width:0}.gallery-image{margin:0;height:55svh;min-height:310px;background:#090b08;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}.gallery-image img{width:100%;height:100%;object-fit:contain}.gallery-bar{display:flex;align-items:center;gap:16px;padding:17px 0}.gallery-count{font:10px Mono,monospace;color:var(--muted)}.zoom-button{margin-left:auto;font:10px Mono,monospace;color:var(--yellow)}.thumbnails{display:flex;gap:8px;overflow-x:auto;padding:5px 0 18px;scrollbar-width:thin}.thumb{flex:0 0 65px;height:54px;padding:3px;border:1px solid #d5d9b422;background:#080a07}.thumb img{width:100%;height:100%;object-fit:cover}.thumb[aria-current=true]{border-color:var(--yellow)}.case-details{padding:8px 0 30px;max-height:77svh;overflow:auto;scrollbar-width:thin}.case-details h1{font-size:clamp(34px,3.6vw,61px);font-weight:400;letter-spacing:-.045em;line-height:1.05;margin:16px 0 26px}.description,.case-caption p,.about-block p{font-size:13px;line-height:1.75;color:#a8b09a}.case-details dl{border-top:1px solid var(--line);padding:20px 0;margin-top:28px}.case-details dl>div{display:grid;grid-template-columns:65px 1fr;gap:15px}.case-details dt{font:9px Mono,monospace;color:var(--muted)}.case-details dd{font-size:11px;line-height:1.8;margin:0;color:#c3c9b5}.case-caption{border-top:1px solid var(--line);padding-top:17px}.case-caption h2{font-size:18px;font-weight:400}.case-caption .eyebrow{font-size:8px}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin:23px 0}.tag-list span{font:8px Mono,monospace;border:1px solid var(--line);padding:7px 8px;color:var(--muted)}.next-project{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font:8px Mono,monospace}.next-project strong{display:block;font:17px Liberation,Arial,sans-serif;color:var(--ink);margin-top:9px}.next-project>span:last-child{font-size:23px;color:var(--yellow)}.about-page{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;padding:65px 0}.about-page h1{font-size:clamp(40px,5.1vw,80px);font-weight:400;letter-spacing:-.06em;line-height:1.08;margin:28px 0}.about-page h1 em{font-style:normal;color:var(--yellow)}.about-intro{font-size:17px;line-height:1.8;max-width:460px;color:#b4bda6}.about-links{display:flex;flex-wrap:wrap;gap:24px;font:10px Mono,monospace;color:var(--yellow);margin-top:38px}.about-block{border-top:1px solid var(--line);padding:23px 0;margin-bottom:16px}.about-block h2{font-size:30px;font-weight:400;line-height:1.15;letter-spacing:-.025em}.about-image{float:right;width:95px;height:104px;object-fit:cover;margin:5px 0 20px 25px;filter:saturate(.6)}.about-email{font:13px Mono,monospace;color:var(--yellow);overflow-wrap:anywhere}.about-block .view-case{width:100%;margin-top:25px}dialog{color:var(--ink);background:#151811;border:1px solid #ccd09f3f;padding:35px;max-width:1100px;width:90vw;max-height:88svh;box-shadow:0 30px 120px #000b}dialog::backdrop{background:#030603df;backdrop-filter:blur(7px)}.index-top,.zoom-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.close-button{font:10px Mono,monospace;color:var(--yellow);border-bottom:1px solid #d5d99650;padding:8px 0}.index-top .eyebrow{font-size:9px}#index-title{font-size:43px;font-weight:400;letter-spacing:-.04em;margin:20px 0 38px}#index-list{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 60px}.index-category h3{font:11px Mono,monospace;color:var(--yellow)}.index-category h3 span{color:var(--muted)}.index-category button{display:flex;justify-content:space-between;width:100%;padding:14px 0;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.index-category button>span{font:8px Mono,monospace;color:var(--muted)}#zoom-dialog{max-width:none;width:95vw;padding:20px;height:94svh;max-height:94svh}#zoom-label{font:11px Mono,monospace}.zoom-scroll{height:calc(100% - 46px);overflow:auto;margin-top:16px;text-align:center}.zoom-scroll img{width:auto;max-width:none;max-height:none;min-width:70%;height:auto}.zoom-top{height:30px}noscript{padding:25px 40px;font-size:14px;line-height:1.7}noscript a{text-decoration:underline}
@media(min-width:1800px){.portfolio{padding:0 max(60px,calc((100vw - 1700px)/2))}.project-stage{gap:9%}}
@media(max-width:1050px){.masthead{gap:25px}.discipline{display:none}.categories{gap:23px}.project-stage{grid-template-columns:37% 1fr;gap:5%}.project-copy h1{font-size:55px}.project-art{height:46svh}.case-layout{gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(255px,1fr)}.case-details h1{font-size:38px}.site-footer>span{display:none}.about-page{gap:6%}}
@media(max-width:700px){.intro-top{inset:24px 24px auto}.intro-credit{font-size:9px}.intro-credit>span{font-size:7px}.intro-bottom{inset:auto 24px 38px;gap:18px;flex-wrap:wrap}.intro-instruction{width:100%}.intro-instruction p{font-size:11px}.lower-computer{margin-left:0;font-size:10px}.intro-progress{margin-left:auto;width:70px}.scene-floor-label{font-size:6px;bottom:14px}.portfolio{padding:0 24px}.monitor-edge{border-width:5px;border-radius:17px;box-shadow:inset 0 0 16px #0008}.monitor-glass{border-radius:17px}.monitor-glass svg{width:70px;height:55px;opacity:.07}.masthead{min-height:104px;align-items:flex-start;padding:25px 0 18px;gap:18px;flex-wrap:wrap}.wordmark{font-size:16px;gap:13px}.wordmark .glasses-mark{width:34px;height:16px}.masthead nav{margin-left:auto;gap:17px;font-size:9px;padding-top:1px}.nav-link{padding:4px 0 7px}.contact-link{display:none}.categories{gap:18px;min-height:60px;overflow-x:auto;scrollbar-width:none;margin-right:-18px;padding-right:18px}.category-button{font-size:9px;flex-shrink:0}.category-button span{font-size:7px;margin-left:3px}.category-button[aria-current=true]:before{margin-right:5px;font-size:4px}.all-work{font-size:8px;flex-shrink:0}.project-stage{display:flex;flex-direction:column;gap:25px;padding:27px 0 28px;align-items:stretch}.project-copy{padding:0}.project-copy>.eyebrow{font-size:8px;margin:0}.project-copy h1{font-size:clamp(41px,10vw,65px);margin:17px 0 15px;max-width:90%}.project-desc{font-size:12px;max-width:90%;margin:0}.view-case{width:100%;font-size:9px;padding:13px 16px;margin-top:21px}.project-meta{display:none}.project-art{height:40svh;min-height:250px}.project-strip{gap:13px;padding:17px 0;align-items:flex-start}.project-strip>.eyebrow{display:none}.project-nav{gap:0 18px}.project-button{font-size:8px;padding:9px 0}.selection-arrows{gap:4px;padding-top:2px}.arrow{min-width:30px;height:30px;font-size:14px}.site-footer{min-height:100px;flex-wrap:wrap;gap:5px 20px;padding:19px 0}.site-footer>div{width:100%;margin:0;gap:20px;font-size:8px}.site-footer button{padding:0 0 10px}.case-page{padding-top:17px}.case-top{gap:10px;flex-wrap:wrap;margin-bottom:16px}.back-button{font-size:9px}.case-top>.eyebrow{display:none}.case-top select{margin-left:auto;max-width:45%;font-size:9px;padding:9px 5px}.case-layout{display:block}.gallery-image{height:45svh;min-height:260px}.gallery-bar{gap:12px}.gallery-count,.zoom-button{font-size:9px}.thumb{flex-basis:57px;height:48px}.case-details{max-height:none;overflow:visible;padding-top:22px}.case-details h1{font-size:43px}.case-details dl{margin-top:23px}.about-page{display:block;padding:37px 0}.about-page h1{font-size:50px}.about-intro{font-size:15px}.about-right{margin-top:55px}.about-links{gap:22px;font-size:9px}.about-image{width:80px;height:88px}dialog{width:calc(100vw - 24px);padding:23px;max-height:91svh}#index-title{font-size:35px;margin-bottom:25px}#index-list{grid-template-columns:1fr;gap:24px}#zoom-dialog{width:96vw;padding:12px}#zoom-label{font-size:9px}.zoom-scroll img{min-width:100%;max-width:none}.intro-runway{height:100svh;height:100dvh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.intro-runway{height:100svh}.intro-progress{display:none}}

/* Actual portfolio pixels are displaced only inside a small broken-glass shard. */
.glass-filter-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.glass-damage{position:fixed;top:0;right:0;width:clamp(360px,38vw,640px);height:auto;aspect-ratio:240/205;z-index:22;pointer-events:none;contain:layout paint;isolation:isolate}.intro-active .glass-damage{display:none}.intro-entering .glass-damage{display:block;opacity:var(--handoff)}.glass-fragments{position:absolute;inset:0;pointer-events:none}.glass-facet{position:absolute;inset:0;overflow:hidden;pointer-events:none}.glass-facet:after{content:'';position:absolute;inset:0;background:linear-gradient(123deg,#dae5e70a,transparent 30%,#111b2108 70%,#f2f5e807);pointer-events:none}.glass-facet[data-facet="1"]:after{background:linear-gradient(23deg,#0006,transparent 45%,#e7eef109)}.glass-facet[data-facet="3"]:after{background:linear-gradient(143deg,#0002,transparent 45%,#e8f4f00a)}.glass-facet[data-facet="4"]{filter:url(#glass-refraction)}.glass-copy{position:absolute;top:0;left:0;background:var(--black);color:var(--ink);transform-origin:100% 0;pointer-events:none;overflow:hidden}.glass-crack{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;pointer-events:none}.glass-crack .fracture-dark{stroke:#010504;stroke-width:1.4;opacity:.70;stroke-linecap:butt}.glass-crack .fracture-lip{stroke:url(#fracture-edge-fade);stroke-width:.64;transform:translate(-.75px,-.55px);stroke-linecap:butt}@media(max-width:700px){.intro-invitation h1{font-size:clamp(44px,10.4vw,73px)}.intro-invitation p{font-size:11px;margin-top:23px}.intro-landed .intro-copy{top:10%;left:7%;right:7%}.intro-landed .intro-invitation h1{font-size:clamp(24px,6.2vw,36px);max-width:540px;margin:auto}.glass-damage{width:68vw;max-width:360px;height:auto;top:0;right:0}}

.glass-copy[data-source-id="zoom-dialog"]{overflow:hidden}.glass-copy [data-source-id="zoom-label"]{font:11px Mono,monospace}.glass-copy [data-source-id="index-title"]{font-size:43px;font-weight:400;letter-spacing:-.04em;margin:20px 0 38px}.glass-copy [data-source-id="index-list"]{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 60px}@media(max-width:700px){.glass-copy [data-source-id="zoom-label"]{font-size:9px}.glass-copy [data-source-id="index-title"]{font-size:35px;margin-bottom:25px}.glass-copy [data-source-id="index-list"]{grid-template-columns:1fr;gap:24px}}
