@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-vietnamese-400-normal-B7Iv8-Rg.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-400-normal-Sle7MYWg.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-latin-ext-400-normal-D42HmrHD.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-400-normal-BH175q6o.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-latin-400-normal-A6LyuA6R.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-400-normal-D89K-qEP.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bricolage-grotesque-vietnamese-500-normal-FzY9NZwK.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-500-normal-CAK5R6Iy.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bricolage-grotesque-latin-ext-500-normal-DIhLz7G7.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-500-normal-B0ZDNVGf.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bricolage-grotesque-latin-500-normal-DEDBoLFO.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-500-normal-CV-uA8Lw.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-vietnamese-600-normal-Ipewt4hn.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-600-normal-BppAn7jL.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-ext-600-normal-CN5JKkBm.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-600-normal-DF26P3Q7.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-vietnamese-700-normal-BLYPkJbo.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-700-normal-CHrFuVHU.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-ext-700-normal-fBkt-7fi.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-700-normal-BXpPFNFj.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-700-normal-gtcctNPv.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-700-normal-DvJDmrLu.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{--felt:#9a9a94;--desk:#4a4f55;--alu:#d9dcdf;--kraft:#c8a77a;--ink:#1d2024;--ink-kraft:#4a3d2c;--tape:#17191c;--tape-ink:#eeeeea;--teal:#1f8a8a;--gutter:clamp(1rem, 4.5vw, 4.5rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:var(--felt);color:var(--ink);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scrollbar-color:var(--desk) var(--felt);caret-color:var(--teal);font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:100%;line-height:1.55}body{background:var(--felt);margin:0}::selection{background:var(--teal);color:#fff}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}h1,h2,h3{text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}.scene{z-index:0;position:fixed;inset:0}.scene:after{content:"";pointer-events:none;background:radial-gradient(120% 90% at 40% 45%,#0000 55%,#1c1e2152);position:absolute;inset:0}.bar{z-index:2;padding:1.1rem var(--gutter) 1.75rem;pointer-events:none;background:linear-gradient(#a3a39ef7 58%,#a3a39e00);align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0 0 auto}.bar>*{pointer-events:auto}.mark{letter-spacing:-.01em;margin-right:auto;font-weight:700;text-decoration:none}.rail,.bar-actions{gap:.375rem;display:flex}.stop,.link,.tags li{letter-spacing:.08em;text-transform:uppercase;color:var(--tape-ink);background:var(--tape);cursor:pointer;transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), background-color .25s var(--ease-out);border:0;border-radius:3px;padding:.5rem .65rem;font:600 .75rem/1 Bricolage Grotesque,system-ui,sans-serif;text-decoration:none;box-shadow:inset 0 1px #ffffff12,0 1px 2px #0000004d}.stop-n{opacity:.6;font-variant-numeric:tabular-nums}.stop:hover,.link:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff12,0 4px 10px #0000004d}.stop[aria-current=true]{background:var(--alu);color:var(--ink);transform:translateY(-2px);box-shadow:inset 0 1px #fff9,0 5px 12px #00000047}.stop-section{z-index:1;min-height:100svh;padding:6.5rem var(--gutter) 12vh;pointer-events:none;grid-template-columns:1fr minmax(0,36rem);align-items:center;display:grid;position:relative}.sheet,.hero-copy{pointer-events:auto}.hero{grid-template-columns:minmax(0,36rem) 1fr;align-items:start;padding-top:max(7.5rem,16vh)}h1{letter-spacing:-.035em;font-size:clamp(2.75rem,5.6vw,5.5rem);font-weight:700;line-height:.94}.roles{margin-top:1.25rem;font-size:1.125rem;font-weight:600}.lede{max-width:44ch;margin-top:.75rem}.figures{margin:1.25rem 0 0;padding:0 0 0 1.1rem}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:2rem;display:flex}.btn{letter-spacing:.08em;text-transform:uppercase;color:var(--tape-ink);background:var(--tape);transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);border-radius:3px;padding:.85rem 1.2rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:inset 0 1px #ffffff12,0 2px 4px #00000040}.btn:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff12,0 8px 16px #00000047}.btn-quiet{color:var(--ink);box-shadow:none;background:0 0;padding-inline:0;text-decoration:underline;text-decoration-thickness:1px}.btn-quiet:hover{box-shadow:none;-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal)}.hint{color:#2c3034;margin-top:1.5rem;font-size:.875rem}.sheet+.sheet{margin-top:4rem}.sheet{background-color:var(--kraft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .22 0 0 0 0 .12 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border-radius:2px;grid-column:2;padding:clamp(1.5rem,3vw,2.75rem);box-shadow:0 1px 1px #1e181033,0 14px 30px -10px #14161980}.sheet h2{letter-spacing:-.03em;font-size:clamp(2rem,3.4vw,3rem);font-weight:700;line-height:1}.sheet h3{font-size:1.125rem;font-weight:600;line-height:1.3}.sub{margin-top:.5rem;font-size:1.125rem;font-weight:500}.meta{color:var(--ink-kraft);margin-top:.35rem;font-size:.875rem}.points{margin:1.25rem 0 0;padding-left:1.1rem}.points li+li{margin-top:.6rem}.points li::marker{color:var(--ink-kraft)}.entry+.entry,.certs-h{margin-top:2rem}.sheet h2+.entry{margin-top:1.5rem}.tags{flex-wrap:wrap;gap:.375rem;margin:1.75rem 0 0;padding:0;list-style:none;display:flex}.tags li{cursor:default;padding:.4rem .55rem;font-size:.6875rem}.project .summary{margin-top:1.25rem;font-size:1.0625rem}.project h3{margin-top:2.25rem}.steps{margin:.9rem 0 0;padding-left:1.4rem}.steps li+li{margin-top:.6rem}.steps li::marker{font-variant-numeric:tabular-nums;color:var(--ink-kraft);font-weight:600}.shots{gap:1.5rem;margin-top:1rem;display:grid}.shots figure{margin:0}.shots a{border-radius:2px;display:block}.shots img{width:100%;height:auto;transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);background:#f2f2f2;border-radius:2px;display:block;box-shadow:0 0 0 1px #4a3d2c40,0 6px 14px -6px #1e181073}.shots a:hover img{transform:translateY(-2px);box-shadow:0 0 0 1px #4a3d2c4d,0 12px 22px -8px #1e181080}.shots .portrait{max-width:15rem}.project-link{margin-top:2rem}.shots figcaption{color:var(--ink-kraft);margin-top:.5rem;font-size:.875rem}.project .tags{margin-top:.75rem}.project .meta{margin-top:.6rem}.team{margin-top:1.25rem}.skills,.skills section+section{margin-top:1.75rem}.skills h3{font-size:1.125rem}.skills .tags{margin-top:.6rem}.skills .tags li{padding:.5rem .7rem;font-size:.8125rem}.skills .more{color:var(--ink-kraft);margin-top:.7rem;font-size:.9375rem}.skills .more span{color:var(--ink);font-weight:600}.contact{margin:1.5rem 0 2rem;padding:0;font-size:clamp(1.125rem,1.6vw,1.375rem);font-weight:600;list-style:none}.contact li+li{margin-top:.4rem}.contact a:hover{-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal);text-decoration-thickness:2px}.sheet>p:not(.sub,.meta){margin-top:1rem}html:not(.simple) .figures{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){html:not(.simple) .sheet{animation:linear both lay-down;animation-timeline:view();animation-range:entry 5% entry 85%}}}@keyframes lay-down{0%{transform:translateY(4rem)rotate(-2.2deg)scale(1.015);box-shadow:0 1px 1px #1e18101a,0 40px 60px -16px #14161973}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}@media (width<=760px),(orientation:portrait) and (width<=1024px){.rail{padding:.75rem var(--gutter) max(.75rem, env(safe-area-inset-bottom));scrollbar-width:none;background:var(--felt);position:fixed;inset:auto 0 0;overflow-x:auto;box-shadow:0 -1px #1d20241f,0 -8px 18px -10px #1d202459}.stop{flex:none}.hint{display:none}html:not(.simple) .figures{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.stop-section{grid-template-columns:minmax(0,1fr);align-items:start;padding-top:56svh;padding-bottom:12svh}.sheet{grid-column:1}.hero{grid-template-columns:minmax(0,1fr);padding-top:5.5rem}h1{font-size:clamp(2.5rem,11vw,4rem)}}html.simple .rail{display:none}html.simple .stop-section{max-width:46rem;min-height:0;padding:1.5rem var(--gutter);margin:0 auto;display:block}html.simple .hero{padding-top:6rem;padding-bottom:2.5rem}html.simple .hint{display:none}html.simple main{padding-bottom:4rem}
