@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2)format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bone:#e9e3d5;--paper:#f3eee2;--ink:#14130f;--ink-2:#1f1d18;--red:#f2461c;--moss:#2b3a2f;--sand:#cfc6b0;--line:#14130f2e;--ease:cubic-bezier(.22, 1, .36, 1);--pad:clamp(1.1rem, 4vw, 3.5rem);--display:"Bricolage Grotesque Variable", system-ui, sans-serif;--serif:"Instrument Serif", Georgia, serif;--mono:"DM Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;overflow-x:clip}html.lenis,html.lenis body{height:auto}body{background:var(--bone);color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.5;overflow-x:clip}@media (hover:hover) and (pointer:fine){body,a,button{cursor:none}}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}button{font:inherit;color:inherit;background:0 0;border:0}img{max-width:100%;display:block}::selection{background:var(--red);color:var(--paper)}em{font-family:var(--serif);font-style:italic;font-weight:400}.wrap{padding-inline:var(--pad);max-width:1500px;margin-inline:auto}.progress{background:var(--red);transform-origin:0;z-index:100;height:3px;position:fixed;inset:0 0 auto}.cursor{z-index:120;pointer-events:none;mix-blend-mode:difference;position:fixed;top:0;left:0}.cursor span{background:#fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;display:block}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.78rem;display:flex}.dot{background:var(--red);border-radius:50%;width:8px;height:8px;display:inline-block}.h2{letter-spacing:-.035em;max-width:16ch;margin-top:1.2rem;font-size:clamp(2.4rem,7vw,6.2rem);font-weight:600;line-height:.98}.h2 em{letter-spacing:-.02em;color:var(--red);font-size:1.08em}.nav{z-index:90;padding:1.1rem var(--pad);mix-blend-mode:difference;color:#fff;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.logo{letter-spacing:.14em;align-items:center;gap:.6rem;font-weight:700;display:flex}.logo-mark{clip-path:polygon(50% 0,100% 100%,72% 100%,50% 52%,28% 100%,0 100%);background:#fff;width:14px;height:14px}.nav-links{gap:clamp(1rem,3vw,2.4rem);font-size:.95rem;display:flex}.nav-links a{padding-block:.2rem;position:relative}.nav-links a:after{content:"";transform-origin:100%;height:1px;transition:transform .5s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}.burger{width:44px;height:44px;display:none;position:relative}.burger i{height:2px;transition:transform .4s var(--ease);background:currentColor;position:absolute;left:10px;right:10px}.burger i:first-child{top:18px}.burger i:last-child{top:26px}.is-open .burger i:first-child{transform:translateY(4px)rotate(45deg)}.is-open .burger i:last-child{transform:translateY(-4px)rotate(-45deg)}@media (width<=720px){.burger{z-index:2;display:block}.nav-links{background:var(--ink);mix-blend-mode:normal;padding:var(--pad);letter-spacing:-.03em;clip-path:circle(0 at calc(100% - 2.4rem) 2.4rem);transition:clip-path .7s var(--ease);pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:.6rem;font-size:clamp(2.6rem,14vw,4rem);font-weight:600;position:fixed;inset:0}.is-open .nav-links{clip-path:circle(150% at calc(100% - 2.4rem) 2.4rem);pointer-events:auto}.is-open{mix-blend-mode:normal}.is-open .logo,.is-open .burger{color:var(--paper);z-index:2;position:relative}}.hero{min-height:100svh;padding:7rem var(--pad) 3rem;background:radial-gradient(circle at 85% 12%, #f2461c29, transparent 38%), var(--bone);align-items:center;display:flex;position:relative;overflow:clip}.hero:before{content:"";opacity:.35;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .09 0 0 0 0 .06 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-inner{width:100%;max-width:1500px;margin-inline:auto;position:relative;container-type:inline-size}.wordmark{letter-spacing:-.06em;white-space:nowrap;justify-content:space-between;margin:.6rem 0 1.6rem -.016em;font-size:37.2cqw;font-weight:800;line-height:.72;display:flex}.mask{padding:.02em 0 .06em;display:inline-block;overflow:hidden}.mask>span{transform-origin:0 100%;display:inline-block}.wordmark .mask:nth-child(3)>span,.wordmark .mask:nth-child(4)>span{color:var(--ink)}.wordmark .mask:nth-child(2)>span{color:var(--red)}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.lede{letter-spacing:-.015em;max-width:30ch;font-size:clamp(1.15rem,2.1vw,1.7rem);line-height:1.25}.lede em{font-size:1.12em}.cta{background:var(--ink);color:var(--paper);transition:background .4s var(--ease), transform .4s var(--ease);border-radius:99px;align-items:center;gap:1rem;padding:.35rem .35rem .35rem 1.5rem;font-weight:500;display:inline-flex}.cta i{background:var(--red);width:3rem;height:3rem;transition:transform .5s var(--ease);border-radius:50%;place-items:center;font-style:normal;display:grid}.cta:hover{background:var(--red)}.cta:hover i{background:var(--ink);transform:rotate(-90deg)}.badge{top:5.2rem;right:var(--pad);aspect-ratio:1;width:clamp(84px,9vw,130px);color:var(--ink);place-items:center;display:grid;position:absolute}.badge svg{position:absolute;inset:0;overflow:visible}.badge text{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;fill:currentColor;font-size:10.5px}.badge span{color:var(--red);font-size:1.6rem}.marquee{background:var(--red);color:var(--ink);z-index:3;margin:-1.2rem -3rem 0;padding:1.1rem 0;position:relative;overflow:hidden;transform:rotate(-1.2deg)}.marquee-track{width:max-content;animation:36s linear infinite slide;display:flex}.marquee span{letter-spacing:-.03em;white-space:nowrap;padding-inline:1.2rem;font-size:clamp(1.4rem,3.4vw,2.6rem);font-weight:600}.marquee b{margin-left:2.4rem;font-weight:400}@keyframes slide{to{transform:translate(-50%)}}.work{background:var(--ink);color:var(--paper);padding-top:clamp(6rem,14vw,12rem);position:relative}.work-head{padding-inline:var(--pad);max-width:1500px;margin:0 auto clamp(3rem,8vw,7rem)}.work .h2{max-width:12ch}.project{border-top:1px solid #e9e3d524;position:relative}.pin{align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.ghost{letter-spacing:-.08em;color:#0000;-webkit-text-stroke:1px #e9e3d517;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(14rem,44vw,46rem);font-weight:800;line-height:.8;position:absolute;top:0;right:2vw}.track{padding-inline:var(--pad);will-change:transform;align-items:center;gap:clamp(1.5rem,4vw,4rem);display:flex;position:relative}.intro{flex-direction:column;flex:0 0 min(560px,40vw);gap:1.4rem;display:flex}.p-title{letter-spacing:-.035em;font-size:clamp(2.6rem,5.4vw,5rem);font-weight:600;line-height:.95}.p-blurb{color:#f3eee2b8;max-width:46ch}.points{gap:.5rem;font-size:.97rem;display:grid}.points li{padding-left:1.6rem;position:relative}.points li:before{content:"";background:var(--red);width:.9rem;height:1px;position:absolute;top:.62em;left:0}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tags span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid #e9e3d54d;border-radius:99px;padding:.35rem .8rem;font-size:.72rem}.hint{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-size:.78rem}.hint i{animation:nudge 1.4s var(--ease) infinite;font-style:normal;display:inline-block}@keyframes nudge{50%{transform:translate(8px)}}.shots{display:contents}.slot{flex:none}.slot-browser{width:min(60vw,960px,150vh)}.slot-phone{width:min(22vw,300px,36vh)}.end-spacer{flex:0 0 8vw}.rail{left:var(--pad);right:var(--pad);background:#e9e3d52e;height:1px;position:absolute;bottom:2.2rem}.rail i{background:var(--red);height:3px;margin-top:-1px;position:absolute;inset:0 auto 0 0}.shot{display:block}.shot .frame{background:var(--ink-2);transition:transform .7s var(--ease), border-color .4s;border:1px solid #e9e3d52e;overflow:hidden;box-shadow:0 40px 80px -30px #000c}.shot:hover .frame{border-color:var(--red);transform:translateY(-8px)scale(1.012)}.shot-browser .frame{border-radius:14px}.shot-browser .bar{background:#26241e;gap:6px;padding:.7rem .9rem;display:flex}.shot-browser .bar i{background:#e9e3d540;border-radius:50%;width:9px;height:9px}.shot-browser .screen{aspect-ratio:16/10}.shot-phone .frame{background:#2a2820;border-radius:34px;padding:9px;position:relative}.shot-phone .notch{z-index:2;background:#000;border-radius:99px;width:30%;height:14px;position:absolute;top:15px;left:50%;transform:translate(-50%)}.shot-phone .screen{aspect-ratio:9/19.5;border-radius:26px;overflow:hidden}.screen img{object-fit:cover;object-position:top;width:100%;height:100%}.ph{text-align:center;background:repeating-linear-gradient(135deg,#0000 0 14px,#e9e3d50b 14px 15px),#1a1914;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;padding:1rem;display:flex}.ph span{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-size:.72rem}.ph code{font-family:var(--mono);color:#f3eee28c;word-break:break-all;font-size:.8rem}.shot figcaption{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#f3eee299;margin-top:.9rem;font-size:.74rem}@media (width<=899px){.project{padding:3.5rem 0 2.5rem}.pin,.flow{height:auto;display:block;position:static;overflow:hidden}.track{flex-direction:column;align-items:stretch;gap:2rem}.intro{flex-basis:auto}.shots{flex-direction:column;gap:2rem;display:flex}.slot{margin:0!important}.slot-browser{width:100%}.slot-phone{width:62vw;max-width:270px;margin-inline:auto!important}.end-spacer{display:none}.ghost{font-size:14rem;top:1rem}.hero{min-height:auto;padding-top:6.5rem;padding-bottom:3.5rem}.badge{display:none}}@media (width<=560px){.badge-x{display:none}.work{padding-top:5rem}.services,.process{padding-block:4.5rem}.contact{padding-top:5rem}.intro .p-title{font-size:2.4rem}}.lb{z-index:200;cursor:zoom-out;background:#14130ffa;flex-direction:column;justify-content:center;align-items:center;padding:3.5rem .75rem 3rem;display:flex;position:fixed;inset:0}.lb-close{background:var(--red);width:44px;height:44px;color:var(--ink);z-index:2;border-radius:50%;place-items:center;font-size:1.1rem;display:grid;position:absolute;top:.8rem;right:.8rem}.lb-scroll{-webkit-overflow-scrolling:touch;border-radius:10px;max-width:100%;max-height:100%;overflow:auto}.lb-scroll img{cursor:zoom-in;background:#fff;width:min(100%,1600px);max-width:none;height:auto;display:block}.lb-scroll:not(.is-zoom) img{width:auto;max-width:100%;max-height:calc(100svh - 7rem)}.lb-scroll.is-zoom img{cursor:zoom-out;width:max(220vw,1400px)}.lb-cap{text-align:center;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#f3eee2b3;padding-inline:1rem;font-size:.72rem;position:absolute;bottom:1rem;left:0;right:0}.services{background:var(--paper);padding-block:clamp(6rem,14vw,12rem)}.svc-list{margin-top:clamp(3rem,7vw,6rem)}.svc-list li{transition:padding .6s var(--ease), color .4s;grid-template-columns:4rem minmax(0,1.1fr) minmax(0,1fr) 3rem;align-items:center;gap:1.5rem;padding:clamp(1.4rem,3vw,2.3rem) .4rem;display:grid;position:relative}.svc-list .line{background:var(--ink);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.svc-list li:last-child{border-bottom:1px solid var(--ink)}.svc-list li:before{content:"";background:var(--ink);transform-origin:bottom;transition:transform .6s var(--ease);z-index:0;position:absolute;inset:0;transform:scaleY(0)}.svc-list li>*{z-index:1;position:relative}.svc-list li:hover{color:var(--paper);padding-inline:1.4rem}.svc-list li:hover:before{transform:scaleY(1)}.svc-list .n{font-family:var(--mono);color:var(--red);font-size:.85rem}.svc-list h3{letter-spacing:-.03em;font-size:clamp(1.7rem,4.2vw,3.6rem);font-weight:600;line-height:1}.svc-list p{opacity:.75;max-width:38ch}.arrow{text-align:right;transition:transform .5s var(--ease), color .3s;font-size:1.8rem;font-style:normal}.svc-list li:hover .arrow{color:var(--red);transform:translate(4px,-4px)rotate(45deg)}@media (width<=760px){.svc-list li{grid-template-columns:2.4rem 1fr;row-gap:.5rem}.svc-list p{grid-column:2}.arrow{display:none}}.process{background:var(--sand);padding-block:clamp(6rem,12vw,10rem) 2rem}.stack{max-width:1100px;margin-top:clamp(2.5rem,5vw,4rem)}.stack-item{padding-bottom:12vh;position:sticky}.stack-end{height:45vh}.card{transform-origin:50% 0;border-radius:clamp(18px,2.4vw,28px);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(1.4rem,4vw,3.5rem);padding:clamp(1.3rem,3vw,2.4rem);display:grid;box-shadow:0 -18px 40px -22px #0006}.card-top{align-items:baseline;gap:1rem;margin-bottom:.9rem;display:flex}.roman{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.6rem);font-style:italic;line-height:1}.phase{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.8;border:1px solid;border-radius:99px;padding:.25rem .7rem;font-size:.72rem}.card h3{letter-spacing:-.04em;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:600;line-height:.95}.card p{opacity:.85;max-width:36ch;margin-top:.8rem;font-size:clamp(1rem,1.4vw,1.15rem)}.card-points{gap:.7rem;display:grid}.card-points li{border-top:1px solid;border-top-color:color-mix(in srgb, currentColor 28%, transparent);padding:.75rem 0 0 1.7rem;font-size:.98rem;line-height:1.35;position:relative}.card-points li:before{content:"✦";color:var(--red);font-size:.8rem;position:absolute;top:.75rem;left:0}.c1 .card-points li:before{color:var(--ink)}@media (width<=760px){.card{grid-template-columns:1fr;gap:1.2rem}.stack-item{padding-bottom:7vh}}.c0{background:var(--ink);color:var(--paper)}.c0 .roman{color:var(--red)}.c1{background:var(--red);color:var(--ink)}.c2{background:var(--moss);color:var(--paper)}.c2 .roman{color:var(--sand)}.c3{background:var(--paper);color:var(--ink)}.c3 .roman{color:var(--red)}.contact{background:var(--ink);color:var(--paper);padding-top:clamp(6rem,12vw,11rem);position:relative;overflow:hidden}.big-type{white-space:nowrap;letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px #e9e3d51f;pointer-events:none;font-size:clamp(9rem,28vw,26rem);font-weight:800;line-height:.85;position:absolute;top:4%;left:0}.contact-inner{flex-direction:column;align-items:flex-start;gap:2.4rem;padding-bottom:clamp(5rem,10vw,8rem);display:flex;position:relative}.contact .h2{max-width:14ch}.mail{background:var(--red);color:var(--ink);border-radius:99px;flex-direction:column;gap:.3rem;padding:2.4rem 3.2rem;transition:background .4s,color .4s;display:inline-flex}.mail span{letter-spacing:-.02em;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:600}.mail small{font-family:var(--mono);font-size:.8rem}.mail:hover{background:var(--paper)}.foot{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #e9e3d52e;flex-wrap:wrap;justify-content:space-between;gap:1rem;max-width:none;padding-block:1.6rem;font-size:.78rem;display:flex;position:relative}@media (width<=560px){.mail{border-radius:40px;padding:1.8rem 2rem}}@media (prefers-reduced-motion:reduce){.marquee-track,.hint i{animation:none}*{scroll-behavior:auto!important}}
