@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #1c1c1c;--fg: #fff;--muted: rgba(255,255,255,.62);--unit: 15%;--radius: clamp(1.2rem, 2.4vw, 2.6rem);font-family:Space Grotesk Variable,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{background:#1c1c1c;scroll-behavior:smooth}body{margin:0;background:#1c1c1c;color:#fff;overflow-x:hidden;font-variation-settings:"wght" 560}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}.clean-site{background:#1c1c1c;min-height:100vh}.intro-zoom{height:170vh;position:relative;background:#1c1c1c;clip-path:inset(0)}.intro-square{--underscore-unit: var(--unit);position:sticky;top:50svh;left:50%;width:min(32vw,18rem);aspect-ratio:1;background:#fff;color:#1c1c1c;transform:translate(-50%,-50%) scale(var(--intro-scale, 1));transform-origin:center;will-change:transform}.cursor-mark{position:absolute;left:var(--underscore-unit);right:var(--underscore-unit);bottom:var(--underscore-unit);height:var(--underscore-unit);display:block;background:#1c1c1c;color:transparent;animation:blink 1s steps(1) infinite}.intro-square.is-complete .cursor-mark{animation:none;opacity:1}.scroll-hint{position:absolute;left:50%;top:calc(100% + 1.25rem);display:grid;justify-items:center;gap:.35rem;color:#fff;font-weight:760;letter-spacing:-.02em;opacity:0;transform:translate(-50%,.75rem);transition:opacity .45s ease,transform .45s ease;pointer-events:none;mix-blend-mode:difference}.scroll-hint.is-visible{opacity:1;transform:translate(-50%)}.scroll-hint b{font-size:1.6rem;animation:hint-bounce .9s cubic-bezier(.2,.9,.2,1) infinite alternate}@keyframes hint-bounce{to{transform:translateY(.45rem)}}@keyframes blink{50%{opacity:0}}@keyframes loading-dot-wave{0%,80%,to{transform:translateY(0) scale(1);opacity:.42}40%{transform:translateY(-.55rem) scale(1.08);opacity:1}}.video-loading{position:relative}.video-loading:before{content:"";position:absolute;inset:0;z-index:1;background:#111;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.loading-dots{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;gap:.45rem;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.loading-dots span{width:.56rem;height:.56rem;border-radius:999px;background:#fff;animation:loading-dot-wave .9s cubic-bezier(.34,1.56,.64,1) infinite}.loading-dots span:nth-child(2){animation-delay:.12s}.loading-dots span:nth-child(3){animation-delay:.24s}.video-loading.is-loaded:before,.video-loading.is-loaded .loading-dots{opacity:0;visibility:hidden}.video-loading.is-loaded .loading-dots span{animation-play-state:paused}.topbar{position:fixed;left:1rem;right:1rem;top:1rem;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:.45rem;border-radius:999px;background:#ffffffe6;color:#1c1c1c;backdrop-filter:blur(18px);opacity:0;pointer-events:none;transform:translateY(-1rem);transition:opacity .25s ease,transform .25s ease}.topbar.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}body.project-view-open .topbar{opacity:0;pointer-events:none;transform:translateY(-1rem)}.nav-identity{display:flex;align-items:center;gap:.75rem}.nav-identity span{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:820}.brand,.nav-links a{padding:.72rem 1rem;border-radius:999px;font-weight:780;letter-spacing:-.04em}.brand{min-width:2.75rem;text-align:center;background:#1c1c1c;color:#fff}.nav-links{display:flex;gap:.25rem}.nav-links a:hover{background:#1c1c1c;color:#fff}.stage-scroll{background:#fff;color:#1c1c1c;position:relative}.reel-anchor{position:absolute;top:18svh;left:0;width:1px;height:1px;pointer-events:none}.stage-pin{position:relative;min-height:100svh;overflow:hidden;background:#fff;color:#1c1c1c}.stage-reel{position:relative;z-index:2;margin:clamp(5rem,10vw,8rem) clamp(1rem,4vw,4rem) 0;aspect-ratio:16 / 9;background:#111;overflow:hidden;transform-origin:center top}.stage-reel img,.stage-reel video{width:100%;height:100%;object-fit:cover}.reel-eyebrow{position:absolute;z-index:2;left:1rem;top:1rem;margin:0;padding:.55rem .75rem;border-radius:999px;background:#1c1c1c94;color:#fff;backdrop-filter:blur(12px)}.stage-copy{position:relative;z-index:1;margin:clamp(2rem,5vw,4rem) clamp(1rem,4vw,4rem) clamp(4rem,8vw,7rem);max-width:min(72rem,82vw);opacity:var(--copy-opacity, 1);transform:translateY(var(--copy-y, 0rem))}.eyebrow{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:820}h1,h2,h3,p{margin-top:0}h1{max-width:13ch;margin-bottom:1rem;font-size:clamp(4rem,12vw,13rem);line-height:.78;letter-spacing:-.115em;font-weight:850}.stage-copy p:last-child{max-width:46rem;color:#1c1c1cad;font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.4}.stage-underscore{position:relative;z-index:3;background:#1c1c1c;overflow:hidden;color:#fff;transform:none!important;opacity:1!important}.project-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;transform:none!important}.project-accordion-item{min-width:0}.rail-card{width:100%;min-width:0;min-height:clamp(18rem,38vw,36rem);position:relative;overflow:hidden;background:#171717;color:#fff;-webkit-tap-highlight-color:transparent}.rail-media{height:100%;overflow:hidden;position:relative}.rail-media img,.rail-media video{width:100%;height:100%;object-fit:cover;pointer-events:none}.rail-media>img:not(:only-of-type),.rail-media>video:not(:only-of-type),.project-canvas-media>img:not(:only-of-type),.project-canvas-media>video:not(:only-of-type),.detail-media>img:not(:only-of-type),.detail-media>video:not(:only-of-type){position:absolute;inset:0;opacity:0;pointer-events:none}.rail-media>img.is-current,.rail-media>video.is-current,.project-canvas-media>img.is-current,.project-canvas-media>video.is-current,.detail-media>img.is-current,.detail-media>video.is-current,.rail-media>img:only-of-type,.rail-media>video:only-of-type,.project-canvas-media>img:only-of-type,.project-canvas-media>video:only-of-type,.detail-media>img:only-of-type,.detail-media>video:only-of-type{position:static;opacity:1}.detail-media>img.is-current,.detail-media>video.is-current,.detail-media>img:only-of-type,.detail-media>video:only-of-type{pointer-events:auto}.rail-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:1rem;background:linear-gradient(transparent 35%,#1c1c1ce0);opacity:0;transform:translateY(.75rem);transition:opacity .2s ease,transform .2s ease}.rail-card:hover .rail-title{opacity:1;transform:translateY(0)}.rail-title p{margin:0 0 .45rem;color:#ffffffad;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:780}.rail-title h3{margin:0;max-width:10ch;font-size:clamp(1.6rem,3vw,4rem);line-height:.85;letter-spacing:-.09em}.contact{min-height:60svh;margin:0;padding:clamp(4rem,8vw,8rem) clamp(1rem,4vw,4rem);display:grid;place-items:center;background:#1c1c1c;color:#fff}.email-button{display:inline-flex;align-items:center;justify-content:center;min-height:clamp(7rem,18vw,16rem);padding:.2em .38em .28em;border-radius:0;background:#fff;color:#1c1c1c;font-size:clamp(4rem,15vw,16rem);line-height:.78;letter-spacing:-.115em;font-weight:850;transition:transform .45s cubic-bezier(.16,1,.3,1)}.email-button:hover{transform:scale(.985)}.reveal{opacity:0;transform:translateY(2rem);transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.detail-page{padding:1rem;background:#1c1c1c}.back-link{position:fixed;z-index:10;top:1rem;left:1rem;padding:.8rem 1rem;border-radius:999px;background:#fff;color:#1c1c1c}.detail-hero,.case-study,.subcard{border-radius:var(--radius);background:#111;color:#fff}.detail-hero{min-height:calc(100svh - 2rem);padding:clamp(5rem,8vw,8rem) clamp(1rem,5vw,5rem) clamp(1rem,4vw,4rem);display:grid;grid-template-columns:.85fr 1fr;gap:2rem;align-items:end;overflow:hidden}.detail-hero p,.case-study,.subcard p{color:var(--muted)}.detail-media,.subcard-media{border-radius:calc(var(--radius) * .72);overflow:hidden}.detail-media img,.detail-media video{width:100%;min-height:32rem;object-fit:cover}ul{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:1.25rem 0 0}li{border-radius:999px;padding:.45rem .65rem;background:#ffffff1a;color:currentColor;font-size:.78rem}.subcards{max-width:92rem;margin:1rem auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.subcard{padding:1rem;min-height:18rem;display:grid;align-content:end}.subcard-media{margin:0 0 1rem}.subcard-media img,.subcard-media video{width:100%;aspect-ratio:16/9;object-fit:cover}.subcard h2{font-size:clamp(2rem,4vw,4rem);line-height:.9;letter-spacing:-.08em}.case-study{max-width:74rem;margin:1rem auto 4rem;padding:clamp(1.5rem,4vw,4rem);font-size:1.12rem;line-height:1.75}.mobile-project-panel{display:none}@media(max-width:900px){:root{--unit: 12%}body{font-size:.92rem}h1{font-size:clamp(2.8rem,12.5vw,4.6rem)}.topbar,.nav-links{display:none}.intro-zoom{height:100svh;display:grid;place-items:center}.intro-square{position:relative;top:auto;left:auto;width:min(42vw,13rem);transform:none!important}.scroll-hint{display:none}.stage-scroll{height:auto;padding:1rem 0 3rem}.reel-anchor{top:0}.stage-pin{position:relative;height:auto;overflow:visible;padding:1rem 0 0}.stage-reel{position:relative;left:auto;right:auto;top:auto;margin:0 1rem 2rem;transform:none!important}.stage-copy{position:relative;left:auto;top:auto;max-width:none;padding:0 1rem 2rem;opacity:1!important;transform:none!important;mix-blend-mode:normal;color:#1c1c1c;pointer-events:auto}.stage-copy p:last-child{color:#1c1c1cad;font-size:1rem}.stage-copy h1{font-size:clamp(2.8rem,13vw,4.7rem);letter-spacing:-.1em}.stage-underscore{position:relative;left:auto;right:auto;bottom:auto;width:auto;height:auto;margin:0;background:transparent;overflow:visible;transform:none!important;opacity:1!important}.project-rail{height:auto;padding:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;transform:none!important}.project-accordion-item{width:100%}.rail-card{flex:0 0 auto;width:100%;min-height:clamp(6rem,16svh,8rem);border-radius:0}.rail-title{opacity:1;transform:none;padding:.9rem 1rem}.rail-title h3{max-width:12ch;font-size:clamp(1.8rem,8vw,3.1rem)}.mobile-project-panel{display:block;max-height:0;margin-top:0;overflow:hidden;opacity:0;background:#1c1c1c;color:#fff;transition:max-height .75s cubic-bezier(.16,1,.3,1),opacity .35s ease}.mobile-project-panel.is-open{max-height:720rem;opacity:1;margin-bottom:2.25rem}.mobile-project-panel.is-switching,.mobile-project-panel.is-switching .mobile-project-inner{transition:none!important}.mobile-project-inner{opacity:0;transform:translateY(-.75rem);transition:opacity .35s ease .08s,transform .55s cubic-bezier(.16,1,.3,1) .08s}.mobile-project-panel.is-open .mobile-project-inner{opacity:1;transform:translateY(0)}.mobile-project-copy{padding:1rem;background:#1c1c1c;color:#fff}.mobile-project-copy>p{color:#ffffffb8;font-size:.98rem;line-height:1.35}.mobile-project-copy .project-piece-content{color:#ffffffb8}.mobile-project-copy .project-piece-content p:last-child{margin-bottom:0}.mobile-project-card{display:block;background:#1c1c1c;color:#fff}.mobile-project-card-media{min-height:20rem;position:relative;overflow:hidden;background:#151515}.mobile-project-card-media img,.mobile-project-card-media video{width:100%;height:100%;min-height:20rem;object-fit:cover;pointer-events:none;display:block}.mobile-project-card-copy{padding:1rem;background:#1c1c1c;color:#fff}.mobile-project-card-copy p{margin:0 0 .45rem;color:#ffffff94;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:780}.mobile-project-card-copy h3{margin:0 0 .6rem;font-size:clamp(1.8rem,11vw,4rem);line-height:.85;letter-spacing:-.09em}.mobile-project-card-copy span{color:#ffffffb8;line-height:1.35}.detail-hero,.subcards{grid-template-columns:1fr}.email-button{min-height:clamp(5rem,28vw,8rem);font-size:clamp(3rem,18vw,5.5rem);border-radius:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.rail-card{display:block;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .35s ease}.stage-underscore.is-expanded{transform:none;opacity:1;background:#1c1c1c}.project-overlay{position:fixed;z-index:60;inset:0;width:auto;height:100svh;margin:0;overflow:hidden;background:#1c1c1c;color:#fff;opacity:0;pointer-events:none;transition:opacity .35s ease}body.project-view-open .project-overlay{opacity:1;pointer-events:auto}.project-canvas{position:absolute;inset:0;display:grid;grid-template-rows:minmax(18rem,58%) minmax(0,1fr);gap:clamp(.75rem,1vw,1rem);padding:clamp(.65rem,1vw,1rem);opacity:0;transform:translateY(1rem);pointer-events:none;transition:opacity .45s ease .18s,transform .55s cubic-bezier(.16,1,.3,1) .18s}.project-canvas.is-active{opacity:1;transform:translateY(0);pointer-events:auto}.project-close{position:fixed;z-index:100;right:max(clamp(1rem,1.5vw,1.5rem),env(safe-area-inset-right));top:max(clamp(1rem,1.5vw,1.5rem),env(safe-area-inset-top));width:3rem;height:3rem;border:0;border-radius:999px;background:#fff;color:#1c1c1c;font:inherit;font-size:1.6rem;font-weight:820;cursor:pointer;-webkit-tap-highlight-color:transparent}.project-canvas-hero{position:relative;min-width:0;min-height:0;overflow:hidden;background:#111}.project-canvas-media,.project-piece-media{min-width:0;overflow:hidden;background:#111}.project-canvas-media{height:100%;position:relative}.project-canvas-media img,.project-canvas-media video,.project-piece-media img,.project-piece-media video{width:100%;height:100%;object-fit:cover}.project-canvas-copy{position:absolute;inset:0;padding:clamp(1rem,2vw,2rem);display:flex;flex-direction:column;justify-content:end;background:linear-gradient(180deg,#1c1c1c14,#1c1c1c47 48%,#1c1c1cc7);color:#fff}.project-canvas-copy h2{max-width:11ch;margin:0 0 1rem;font-size:clamp(3rem,8vw,9rem);line-height:.78;letter-spacing:-.11em}.project-canvas-copy p:not(.eyebrow){max-width:46rem;color:#ffffffc2;line-height:1.35}.project-pieces{--project-card-gap: clamp(.75rem, 1vw, 1rem);min-width:0;overflow-x:auto;scroll-behavior:smooth;display:flex;align-items:stretch;gap:var(--project-card-gap);overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;user-select:none}.project-pieces.is-dragging{cursor:grabbing;scroll-behavior:auto}.project-pieces::-webkit-scrollbar{display:none}.project-piece{position:relative;flex:0 0 calc((100% - var(--project-card-gap) - var(--project-card-gap)) / 3);min-height:100%;overflow:hidden;background:#151515;color:#fff;-webkit-tap-highlight-color:transparent}.project-piece.is-text-only{padding:1rem;display:flex;align-items:end;background:#fff;color:#1c1c1c}.project-piece-body{flex-basis:auto;width:max-content;min-width:min(28rem,76vw);max-width:min(48rem,86vw)}.project-piece-media{height:100%;transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1)}.project-piece:hover .project-piece-media{opacity:.38;transform:scale(1.025)}.project-piece-info{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:1rem;opacity:0;transform:translateY(.75rem);transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1)}.project-piece:hover .project-piece-info,.project-piece.is-text-only .project-piece-info{opacity:1;transform:translateY(0)}.project-piece.is-text-only .project-piece-info{position:static;padding:0;color:#1c1c1c}.project-piece-content{max-width:42rem;color:#1c1c1cad;font-size:clamp(.98rem,1.1vw,1.12rem);line-height:1.55}.project-piece-content p{margin:0 0 .85rem}.project-piece-content p:last-child{margin-bottom:0}.project-piece-info p{margin:0 0 .45rem;color:#ffffffad;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:780}.project-piece-info h3{margin:0 0 .6rem;font-size:clamp(1.8rem,3.5vw,4.5rem);line-height:.85;letter-spacing:-.09em}.project-piece-info span{max-width:34rem;color:#ffffffbd;line-height:1.35}.project-piece.is-text-only .project-piece-info p,.project-piece.is-text-only .project-piece-info span{color:#1c1c1ca3}body.project-view-open{overflow:hidden}@media(max-width:900px){.project-overlay,body.project-view-open .project-overlay{display:none}.project-close{z-index:100;right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top))}.rail-card:hover .rail-title,.rail-card:active .rail-title{opacity:1;transform:none}.project-canvas{display:block;padding:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.project-canvas-hero{min-height:58svh;margin:0;border-radius:0}.project-canvas-copy h2{font-size:clamp(2.8rem,14vw,5rem)}.project-canvas-copy p:not(.eyebrow){font-size:.98rem}.project-pieces{overflow:visible;flex-direction:column;align-items:stretch;gap:0;cursor:auto;user-select:auto;touch-action:pan-y}.project-piece{flex:none;width:100%;min-height:20rem;border-radius:0;touch-action:pan-y}.project-piece-body{width:100%;min-width:0;max-width:none;min-height:auto}.project-piece.is-text-only{min-height:auto}.project-piece-info,.project-piece:hover .project-piece-info,.project-piece:active .project-piece-info{opacity:1;transform:none;background:linear-gradient(180deg,#1c1c1c00,#1c1c1c80 44%,#1c1c1ce6)}.project-piece.is-text-only .project-piece-info,.project-piece.is-text-only:hover .project-piece-info,.project-piece.is-text-only:active .project-piece-info{background:none}.project-piece:hover .project-piece-media,.project-piece:active .project-piece-media{opacity:1;transform:none}.project-piece-media{min-height:20rem;touch-action:pan-y}.project-piece-media img,.project-piece-media video{pointer-events:none;touch-action:pan-y}}
