@font-face{font-family:HexDot;src:url(/fonts/HexDot-Regular.woff2?v=3) format("woff2"),url(/fonts/HexDot-Regular.ttf?v=3) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HexDot;src:url(/fonts/HexDot-Bold.woff2?v=3) format("woff2"),url(/fonts/HexDot-Bold.ttf?v=3) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--bg: #fff;--bg-rgb: 255, 255, 255;--ink: #000;--ink-70: rgba(0, 0, 0, .7);--ink-60: rgba(0, 0, 0, .6);--ink-50: rgba(0, 0, 0, .5);--ink-40: rgba(0, 0, 0, .4);--ink-20: rgba(0, 0, 0, .2);--ink-12: rgba(0, 0, 0, .12);--tile: rgba(0, 0, 0, .06);--sans: Arial, Helvetica, sans-serif;--hx: "HexDot", Arial, Helvetica, sans-serif;--ease: cubic-bezier(.25, .46, .45, .94);--gutter: 24px;--hdr: 56px;--fs-body: 14px}@media(max-width:639px){:root{--gutter: 16px;--hdr: 72px}}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}::selection{background:var(--ink);color:var(--bg)}.hx,.hxb{font-family:var(--hx);letter-spacing:.01em;text-transform:uppercase}.hx{font-weight:400}.hxb{font-weight:700}p .hx,p .hxb{font-size:1.3em;line-height:0}.page-title{margin:0;font-size:clamp(36px,6vw,72px);line-height:.95;letter-spacing:0;color:var(--ink)}.empty{margin:0;padding:40vh 0;text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-40)}.lockup{position:fixed;top:var(--gutter);left:var(--gutter);z-index:30;user-select:none;mix-blend-mode:difference}.lockup .name{display:block;font-size:17px;line-height:1;color:#fff;transition:opacity .3s ease}.nav{position:fixed;top:var(--gutter);right:var(--gutter);z-index:30;display:flex;align-items:flex-start;gap:clamp(18px,3vw,32px);user-select:none;mix-blend-mode:difference}.nav .item,.nav .contact{display:flex;align-items:center;gap:4px;font-size:12px;line-height:17px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff8c;transition:color .2s}.nav .item:hover,.nav .contact:hover,.nav [aria-expanded=true]{color:#fff}.views{position:fixed;top:var(--gutter);left:50%;transform:translate(-50%);z-index:30;display:flex;gap:6px;white-space:nowrap;user-select:none;mix-blend-mode:difference}.views button{font-size:12px;line-height:17px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff73;transition:color .2s}.views button:hover,.views button[aria-pressed=true]{color:#fff}.views span{color:#ffffff73}.panel{position:fixed;z-index:31;top:calc(var(--gutter) + 25px);right:var(--gutter);min-width:15rem;overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease,opacity .25s ease}.panel-in{padding:14px 16px 12px}.panel-in>*+*{margin-top:4px}.panel .who{margin:0;font-size:13px;font-weight:700;letter-spacing:.025em;text-transform:uppercase;color:var(--ink)}.panel a{display:block;font-size:var(--fs-body);line-height:20px;color:var(--ink-70);transition:color .15s}.panel a:hover{color:var(--ink)}.panel,.pop{background:rgba(var(--bg-rgb),.62);-webkit-backdrop-filter:blur(22px) saturate(1.15);backdrop-filter:blur(22px) saturate(1.15)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.panel,.pop{background:rgba(var(--bg-rgb),.94)}}@media(max-width:639px){.views{top:calc(var(--gutter) + 28px)}.views button{letter-spacing:.14em}.panel{top:calc(var(--gutter) + 53px)}}.ph{position:relative;display:block;width:100%;background:var(--tile) center / cover no-repeat;overflow:hidden}.ph img{display:block;width:100%;height:100%;opacity:0;transition:opacity .5s ease;-webkit-user-drag:none}.ph img.on{opacity:1}.ph.contain img{object-fit:contain}.ph.cover img{object-fit:cover}.ph .ld{position:absolute;inset:0;pointer-events:none;opacity:0;animation:loader-in .25s .7s forwards;background:url(/assets/loader.gif) center / min(62%,280px) auto no-repeat;mix-blend-mode:multiply}@keyframes loader-in{to{opacity:1}}.strip .ld,.mini .ld,.pj-thumbs .ld{display:none}#stream{padding-top:var(--hdr);min-height:100vh}.fb{margin:0;will-change:opacity}.fb .ph{cursor:pointer}.fb-btn{display:block;width:100%}.fb.hero .fb-btn,.fb.hero .ph{height:calc(100vh - var(--hdr));height:calc(100svh - var(--hdr))}.plabel{position:sticky;top:calc(var(--hdr) + var(--i, 0) * 17px);z-index:26;margin:0 0 12px;padding:14px 0 0;pointer-events:none;text-align:center;color:#fff;mix-blend-mode:difference;font-size:12px;font-weight:400;line-height:17px;letter-spacing:.12em;text-transform:uppercase}.plabel button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;pointer-events:none;transition:color .2s}.plabel.stuck button{pointer-events:auto;cursor:pointer}.plabel.stuck button:hover,.plabel.stuck button:focus-visible{color:#ffffff61}.plabel .num{display:inline-block;min-width:2.2em;font-size:10px;letter-spacing:.1em;opacity:.6}.plabel.ixl{position:static;padding:0}.pj-anchor{display:block;height:0}.mini{display:flex;flex-wrap:nowrap;justify-content:safe center;gap:4px;max-width:100%;margin:12px auto 0;padding:0 var(--gutter);list-style:none;overflow-x:auto;scrollbar-width:none}.mini::-webkit-scrollbar{display:none}.mini li{flex:none}.mini button{display:block;height:clamp(40px,5vw,56px);opacity:.75;transition:opacity .2s}.mini button:hover{opacity:1}.mini .ph{height:100%;width:auto}.mini img{height:100%;width:auto;object-fit:cover}.pmeta{margin:14px 0 0;padding:0 var(--gutter);text-align:center;font-size:11px;line-height:17px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c;mix-blend-mode:difference}.pmeta b{font-weight:400;color:#fff}.plus{color:#ffffff8c;font-size:inherit;letter-spacing:.12em;text-transform:uppercase;transition:color .15s}.plus:hover,.plus[aria-pressed=true]{color:#fff}.gap{height:clamp(56px,11vh,120px)}.save{position:absolute;right:10px;bottom:10px;z-index:3;display:grid;place-items:center;width:30px;height:30px;color:#fff;mix-blend-mode:difference;font-size:18px;line-height:1;opacity:0;transition:opacity .2s,transform .25s}.save[aria-pressed=true]{transform:rotate(45deg)}.fb:hover .save,.pj-main:hover .save,.save:focus-visible,.save[aria-pressed=true]{opacity:1}@media(hover:none){.save{opacity:1}}#stream[data-view=lineage],#stream[data-view=portfolio]{padding-bottom:40px}.ly{margin:clamp(56px,11vh,120px) 0 0;padding:0 var(--gutter);text-align:center;font-size:clamp(36px,6vw,72px);line-height:.95;letter-spacing:0;color:var(--ink)}.ly:first-child{margin-top:clamp(28px,6vh,64px)}.ix{padding:clamp(44px,9vh,96px) var(--gutter) 0;text-align:center}.ly+.ix{padding-top:clamp(24px,5vh,48px)}.ix .strip{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:860px;margin:16px auto 0;padding:0;list-style:none}.ix .strip button{display:block;height:clamp(54px,8vw,84px)}.ix .strip .ph{height:100%;width:auto}.ix .strip img{height:100%;width:auto;object-fit:cover}.ix .pmeta{margin-top:12px}.pf{margin:0;padding:clamp(40px,12vh,140px) var(--gutter) 0;list-style:none;text-align:center}.pf li+li{margin-top:clamp(10px,2.2vw,26px)}.pf-item{display:inline-block;font-family:var(--hx);font-weight:700;font-size:clamp(30px,6.4vw,84px);line-height:1.05;letter-spacing:.01em;text-transform:uppercase;color:var(--ink);transition:color .2s}button.pf-item{cursor:pointer}button.pf-item:hover,button.pf-item:focus-visible{color:#9a9a9a}.sheetbar{position:fixed;left:50%;bottom:16px;z-index:40;display:flex;align-items:center;gap:18px;max-width:calc(100% - 24px);padding:10px 16px;transform:translate(-50%,160%);transition:transform .35s var(--ease);color:#fff;mix-blend-mode:difference;font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.sheetbar.show{transform:translate(-50%)}.sheetbar button{color:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;opacity:.6}.sheetbar button:hover{opacity:1}.sheetbar .go{opacity:1;border-bottom:1px solid currentColor}.pop{position:fixed;inset:0;z-index:28;overflow:auto;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}.pop.open{opacity:1;visibility:visible;transition:opacity .3s ease}.pop:focus{outline:none}.pop-in{display:grid;align-items:center;min-height:100%;padding:calc(var(--gutter) + 64px) var(--gutter) 48px}html.pop-lock{overflow:hidden}.pop-grid{display:grid;grid-template-columns:minmax(0,38rem);gap:clamp(32px,5vw,96px);width:100%}.pop-grid.has-fig{grid-template-columns:minmax(0,38rem) minmax(0,1fr)}.pop-fig{margin:0;justify-self:center;width:min(100%,440px)}.pop-text .page-title{margin-bottom:28px}.pop-text p{margin:0 0 1.2em;font-size:15px;line-height:1.75;color:var(--ink-70)}.pop-text a{color:var(--ink);border-bottom:1px solid var(--ink-20)}.pop-text a:hover{border-color:var(--ink)}.pop-links{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:28px}.pop-links a{border:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60)}.pop-links a:hover{color:var(--ink)}.pj{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,80px);width:100%}.pj-text{position:sticky;top:calc(var(--hdr) + 40px);text-align:left}.pj-title{margin:0 0 16px;font-size:clamp(30px,3.6vw,50px);line-height:1;letter-spacing:0;color:var(--ink)}.pj-meta{margin:0 0 20px;font-size:12px;line-height:20px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-50)}.pj-text p{margin:0 0 1.2em;font-size:15px;line-height:1.75;color:var(--ink-70)}.pj-actions{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}.pj-actions button{color:var(--ink-60);font-size:inherit;letter-spacing:inherit;text-transform:inherit;transition:color .15s}.pj-actions button:hover,.pj-actions button[aria-pressed=true]{color:var(--ink)}.pj-media{--ratio: 1.4;width:min(100%,calc(70vh * var(--ratio)));margin-left:auto}.pj-main{position:relative;display:block;width:100%}.pj-slide{position:relative}.pj-thumbs{display:flex;flex-wrap:nowrap;gap:4px;margin:8px 0 0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.pj-thumbs::-webkit-scrollbar{display:none}.pj-thumbs li{flex:none}.pj-thumbs button{display:block;height:64px;opacity:.45;transition:opacity .2s}.pj-thumbs button:hover,.pj-thumbs button[aria-current=true]{opacity:1}.pj-thumbs .ph{height:100%;width:auto}.pj-thumbs img{height:100%;width:auto;object-fit:cover}.pj-x{position:fixed;top:calc(var(--gutter) + 26px);right:var(--gutter);z-index:3;display:flex;align-items:center;gap:6px;font-size:12px;line-height:17px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60);transition:color .15s}.pj-x:hover{color:var(--ink)}.pj-x svg{width:9px;height:9px}@media(min-width:640px){.pj-x{top:calc(var(--gutter) + 30px)}}@media(max-width:639px){.pj-x{top:calc(var(--gutter) + 52px)}.pop-in{padding-top:calc(var(--gutter) + 84px)}}@media(max-width:899px){.pop-grid.has-fig{grid-template-columns:minmax(0,38rem)}.pop-fig{display:none}.pj{grid-template-columns:minmax(0,1fr);gap:22px}.pj-media{order:-1;width:100%;margin:0}.pj-text{position:static;text-align:center}.pj-thumbs{justify-content:safe center}.pj-actions{justify-content:center}}.nf{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100svh;padding:96px var(--gutter) 72px;overflow:hidden;text-align:center}.nf .gif{display:block;width:min(420px,78vw);height:auto;margin:0 auto 4px}.nf .big{margin:0;font-size:clamp(56px,11vw,120px);line-height:.9;letter-spacing:0;color:var(--ink)}.nf .big span{display:inline-block;animation:bob 4.8s var(--ease) infinite}.nf .big span:nth-child(2){animation-delay:-1.6s}.nf .big span:nth-child(3){animation-delay:-3.2s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.nf p{max-width:24rem;margin:28px 0 0;font-size:var(--fs-body);line-height:1.75;color:var(--ink-70)}.nf .links{display:flex;gap:28px;margin-top:20px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}.nf .links a{display:flex;align-items:center;gap:6px;color:var(--ink-60);transition:color .15s}.nf .links a:hover{color:var(--ink)}.pager{position:absolute;bottom:16px;left:50%;z-index:30;display:flex;align-items:center;gap:8px;transform:translate(-50%)}.pager .dot{width:6px;height:6px;background:var(--ink-20)}.pager .dot.on{width:20px;background:var(--ink-50)}html.intro-on body{visibility:hidden}html.intro-lock{overflow:hidden}html.intro-name-hide .lockup .name{opacity:0}.intro{position:fixed;inset:0;z-index:10000;overflow:hidden;touch-action:none;visibility:visible}.intro-backdrop{position:absolute;inset:0;background:var(--bg);transition:opacity .7s ease}.intro-canvas{position:absolute;top:0;left:0;transform-origin:0 0}@media(prefers-reduced-motion:reduce){.pop,.ph img,.sheetbar{transition-duration:.01s!important;transition-delay:0s!important}.nf .big span,.ph .ld{animation:none!important}.ph .ld{opacity:1}}
