@font-face{font-family:Archivo;font-style:normal;font-weight:300 500;font-stretch:125%;font-display:swap;src:url(/assets/fonts/archivo-expanded-vietnamese-v25.woff2)format("woff2");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:Archivo;font-style:normal;font-weight:300 500;font-stretch:125%;font-display:swap;src:url(/assets/fonts/archivo-expanded-latin-ext-v25.woff2)format("woff2");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:Archivo;font-style:normal;font-weight:300 500;font-stretch:125%;font-display:swap;src:url(/assets/fonts/archivo-expanded-latin-v25.woff2)format("woff2");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:Archivo Fallback;src:local(Arial);size-adjust:127.2%;ascent-override:69.2%;descent-override:16.5%;line-gap-override:0%}:root{--bg:#fff;--ink:#080808;--muted:#6f6f6f;--paper:#fff;--sans:"Archivo", "Archivo Fallback", "Helvetica Neue", Arial, sans-serif;--type-ui:11px;--type-project:10px;--type-footer:10px;--vertical-set-height:220px;--horizontal-set-height:176px;--stage-x:32px;--stage-y:32px;--meta-column:clamp(144px, 16vw, 220px);--row-column-gap:16px;--media-gap:8px;--row-pad:24px;--optical-inset:2px;--bio-copy-width:clamp(340px, 46vw, 680px)}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:300;font-stretch:125%}body.index-open{overflow:hidden}button{appearance:none;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.skip-link{top:8px;left:var(--stage-x);z-index:90;background:var(--bg);color:var(--ink);padding:12px;font-size:12px;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible{outline-offset:3px;outline:2px solid}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-loader{display:none}body.js-ready .page-loader{z-index:300;background:var(--bg);opacity:1;visibility:visible;place-items:center;transition:opacity .16s,visibility 0s linear .16s;display:grid;position:fixed;inset:0}body.js-ready .page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.page-loader-line{background:#0808082e;width:clamp(120px,18vw,260px);height:1px;display:block;position:relative;overflow:hidden}.page-loader-line:before{background:var(--ink);content:"";width:42%;animation:1.05s cubic-bezier(.76,0,.24,1) infinite loader-hairline;position:absolute;inset:0 auto 0 0;transform:translate(-110%)}@keyframes loader-hairline{to{transform:translate(345%)}}.stage{min-height:100vh;padding:var(--stage-y) var(--stage-x) calc(var(--stage-y) + 56px)}body.home-enter .hero,body.home-enter .works,body.home-enter .stage>.site-footer{opacity:0}body.home-enter.home-enter-ready .hero{opacity:1;transition:opacity .22s cubic-bezier(.16,1,.3,1)}body.home-enter.home-enter-table-ready .works,body.home-enter.home-enter-table-ready .stage>.site-footer{opacity:1;transition:opacity .26s cubic-bezier(.16,1,.3,1)}.gallery-title,.gallery-project-nav,.gallery-close,.gallery-counter{font-size:var(--type-ui);letter-spacing:.18em;text-transform:uppercase;margin:0;line-height:1}.hero{grid-template-columns:var(--meta-column) minmax(0, 1fr) auto;column-gap:var(--row-column-gap);border-bottom:1px solid var(--ink);font-size:var(--type-ui);letter-spacing:.06em;text-transform:uppercase;align-items:start;row-gap:24px;margin:0;padding:48px 0 32px;line-height:1.5;display:grid}.site-footer{font-size:var(--type-footer);letter-spacing:.12em;text-transform:uppercase;line-height:1.35}.hero-name,.hero-copy h1,.hero-contact,.site-footer p{margin:0}.hero-name{color:var(--ink);font:inherit;letter-spacing:inherit;transform:translateX(var(--optical-inset));grid-area:1/2}.hero-loc{color:var(--muted)}.hero-mobile-menu{display:contents}.hero-copy{overflow-wrap:anywhere;min-width:0;transform:translateX(var(--optical-inset));grid-area:2/2}.hero-copy h1,.hero-copy .hero-intro{width:min(100%, var(--bio-copy-width));max-width:var(--bio-copy-width);font-size:var(--type-ui);letter-spacing:.05em;text-transform:uppercase;font-weight:300;line-height:1.75}.hero-contact{padding-right:var(--optical-inset);text-align:right;overflow-wrap:anywhere;color:var(--muted);flex-direction:column;grid-area:1/3;align-self:start;align-items:flex-end;gap:0;font-style:normal;display:flex}.hero-contact a,.hero-email-copy{min-height:19px;color:inherit;align-items:center;line-height:1.2;text-decoration:none;display:inline-flex}.hero-contact a:hover,.hero-email-copy:hover{color:var(--ink)}.hero-email-copy{font-family:inherit;font-size:inherit;font-stretch:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;text-transform:uppercase}.hero-email-copy:focus-visible{outline-offset:2px;outline:1px solid}.sticky-site-name{top:max(var(--stage-y), env(safe-area-inset-top));left:var(--stage-x);z-index:50;color:var(--ink);font-size:var(--type-ui);letter-spacing:.1em;opacity:0;visibility:hidden;pointer-events:none;text-transform:uppercase;background:0 0;padding:0;line-height:1.2;text-decoration:none;transition:opacity .15s,transform .15s,visibility 0s linear .15s;position:fixed;transform:translateY(-5px)}.sticky-site-name.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.sticky-site-name:focus-visible{outline-offset:3px;outline:1px solid}.copy-fallback-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:0}.site-footer{padding-top:64px;padding-right:var(--optical-inset);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 18px;display:flex}.site-legal-links{align-items:center;gap:18px;display:flex}.site-legal-links a{min-height:24px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.site-legal-links a:hover{color:var(--muted)}.site-legal-links a:focus-visible{outline-offset:2px;outline:1px solid}.legal-shell{min-height:100vh;padding:var(--stage-y) var(--stage-x);flex-direction:column;display:flex}.legal-header{font-size:var(--type-ui);letter-spacing:.12em;text-transform:uppercase;justify-content:flex-end;display:flex}.legal-header a{color:inherit;text-decoration:none}.legal-content{width:min(100%,760px);margin:clamp(72px,12vh,150px) auto 0}.legal-content h1{letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px;font-size:clamp(24px,2.6vw,40px);font-weight:400;line-height:1.15}.legal-updated{color:var(--muted);font-size:var(--type-ui);letter-spacing:.08em;text-transform:uppercase;margin:0}.legal-content section{margin-top:36px}.legal-content h2{font-size:var(--type-ui);letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px;font-weight:500;line-height:1.4}.legal-content p,.legal-content li{letter-spacing:.01em;font-size:clamp(13px,.9vw,16px);line-height:1.7}.legal-content p,.legal-content ul{margin:0 0 14px}.legal-content ul{padding-left:1.2em}.legal-content a{color:inherit;text-underline-offset:.18em}.legal-footer{margin-top:auto;padding-top:80px}.project-index-footer{border-top:1px solid var(--ink);margin-top:32px}.view-switcher{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:80;-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);background:#ffffffad;border:1px solid #08080857;border-radius:0;grid-template-columns:1fr 1fr;min-width:214px;transition:opacity .16s,visibility .16s;display:grid;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 6px 24px #08080817}.view-switcher:before{content:"";pointer-events:none;will-change:transform;background:#080808e0;width:50%;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 auto 0 0;transform:translate(0,0)}body.index-open .view-switcher:before{transform:translate(100%)}.view-switcher-option{z-index:1;min-height:30px;font-size:var(--type-project);letter-spacing:.14em;text-transform:uppercase;padding:0 16px;line-height:1;transition:background-color .14s,color .14s;position:relative}.view-switcher-option+.view-switcher-option{border-left:1px solid #0808083d}.view-switcher-option[aria-pressed=true]{color:var(--paper);background:0 0}.view-switcher-option:hover:not([aria-pressed=true]){background:#ffffff80}.view-switcher-option:focus-visible{z-index:1;outline:2px solid var(--ink);outline-offset:-3px;position:relative}body.overlay-open .view-switcher{opacity:0;visibility:hidden;pointer-events:none}.works{width:100%}.project-index{z-index:60;width:100%;min-height:100%;padding:var(--stage-y) var(--stage-x) calc(var(--stage-y) + 72px);background:var(--bg);visibility:hidden;pointer-events:none;overscroll-behavior:contain;will-change:transform;position:fixed;inset:0;overflow:hidden auto;transform:translateY(100%)}.stage.is-view-ready .project-index{transition:transform .62s cubic-bezier(.76,0,.24,1),visibility 0s linear .62s}.stage[data-view=index] .project-index{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0,0)}body.index-open .hero,body.index-open .works,body.index-open .stage>.site-footer{visibility:hidden}.works-list{border-top:0;min-height:100vh}.project-index-list{min-height:100vh;padding-top:8px}.project-index-filters{top:calc(0px - var(--stage-y));z-index:2;min-height:0;padding:0 var(--optical-inset) 20px;border-bottom:1px solid var(--ink);background:var(--bg);position:sticky}.project-index-filter-label,.project-index-filter-option{font-size:var(--type-project);letter-spacing:.12em;text-transform:uppercase;line-height:1}.project-index-filter-label{color:var(--muted)}.project-index-filter-options{flex-wrap:wrap;justify-content:flex-start;gap:4px 20px;display:flex}.project-index-filter-option{min-height:32px;color:var(--muted);display:inline-block}.project-index-filter-option[aria-pressed=true],.project-index-filter-option:hover{color:var(--ink)}.project-index-filter-option[aria-pressed=true]{text-underline-offset:4px;text-decoration:underline}.project-index-filter-option:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.project-index-columns,.project-index-row{grid-template-columns:44px minmax(0, 1fr) clamp(140px, 18vw, 260px) calc(clamp(92px, 10vw, 140px) + 64px + var(--row-column-gap));gap:var(--row-column-gap);padding-right:var(--optical-inset);padding-left:var(--optical-inset);border-bottom:1px solid var(--ink);align-items:center;display:grid}.project-index-columns{display:none}.project-index-columns-meta,.project-index-meta{gap:var(--row-column-gap);text-align:right;grid-template-columns:minmax(92px,1fr) 64px;display:grid}.project-index-row{text-align:left;border-bottom:0;width:100%;min-height:38px;scroll-margin-block:76px}.project-index-row[hidden]{display:none}.project-index-client,.project-index-year,.project-index-type,.project-index-mobile-client{color:var(--muted);font-size:var(--type-project);letter-spacing:.1em;text-transform:uppercase;line-height:1.2}.project-index-year{font-variant-numeric:tabular-nums}.project-index-main{min-width:0}.project-index-palette{justify-content:flex-start;align-items:center;display:flex;transform:translateY(1.7px)}.project-index-palette:before{content:"";background:radial-gradient(ellipse at 15% 90%, var(--palette-color-1,transparent), transparent 60%), radial-gradient(ellipse at 55% 0%, var(--palette-color-2,transparent), transparent 70%), radial-gradient(ellipse at 80% 100%, var(--palette-color-3,transparent), transparent 60%), var(--palette-color-4,transparent);width:36px;max-width:100%;height:4px;display:block}.project-index-title{overflow-wrap:anywhere;min-width:0;font-size:var(--type-ui);letter-spacing:.1em;text-transform:uppercase;line-height:1.2}.project-index-mobile-client{display:none}.project-index-row:hover,.project-index-row:focus-visible{background:0 0}.project-index-preview{z-index:70;opacity:0;visibility:hidden;pointer-events:none;background:0 0;width:auto;height:auto;transition:opacity .12s,visibility 0s linear .12s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.project-index-preview.is-visible{opacity:1;visibility:visible;transition-delay:0s}.project-index-keyboard-hint{z-index:79;font-size:var(--type-project);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);background:#ffffffc7;border:1px solid #08080857;margin:0;padding:8px 12px;line-height:1;transition:opacity .16s,transform .16s,visibility 0s linear .16s;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,calc(6px - 50%));box-shadow:0 6px 24px #08080817}@media (min-width:621px) and (hover:hover) and (pointer:fine){.project-index-keyboard-hint{display:block}.project-index-keyboard-hint.is-visible{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%,-50%)}}.project-index-preview img{object-fit:contain;object-position:center;width:auto;max-width:clamp(237px,40vw,900px);height:auto;max-height:min(75vh,1000px);display:block}.project-index-row:hover .project-index-title{text-underline-offset:3px;text-decoration:underline}.project-index-row:focus-visible{outline:1px solid var(--ink);outline-offset:-1px}.project-row{--set-height:var(--vertical-set-height);--row-media-height:var(--set-height);grid-template-columns:var(--meta-column) minmax(0, 1fr);gap:var(--row-column-gap);padding:var(--row-pad) 0;border-bottom:1px solid var(--ink);display:grid}.project-row.is-horizontal-set{--set-height:var(--horizontal-set-height)}.project-row.is-vertical-set{--set-height:var(--vertical-set-height)}.project-meta{text-align:left;min-width:0;padding-left:var(--optical-inset);align-content:start;gap:4px;display:grid;transform:translateY(-2px)}.project-name,.project-year{font-size:var(--type-project);letter-spacing:.1em;text-transform:uppercase;line-height:1.08}.project-name{overflow-wrap:anywhere;min-width:0}.project-year{color:var(--muted);font-variant-numeric:tabular-nums}.project-strip{gap:var(--media-gap);height:var(--row-media-height);scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start;min-width:0;display:flex;overflow:auto hidden}.project-strip,.project-strip .project-thumb{cursor:grab;-webkit-user-select:none;user-select:none}.project-strip.is-dragging{scroll-snap-type:none}.project-strip.is-dragging,.project-strip.is-dragging .project-thumb{cursor:grabbing}.project-strip::-webkit-scrollbar{display:none}.project-thumb{--media-aspect:4 / 5;--thumb-aspect:.8;flex:0 0 calc(var(--row-media-height) * var(--thumb-aspect));width:calc(var(--row-media-height) * var(--thumb-aspect));height:var(--row-media-height);text-align:left;scroll-snap-align:start;min-width:0;display:block}.project-img{width:100%;height:100%;aspect-ratio:var(--media-aspect);background:var(--paper);object-fit:contain;object-position:center;-webkit-user-drag:none;display:block}.project-img.is-load-sequenced{opacity:0}.project-img.is-load-sequenced.is-load-revealed{opacity:1;transition:opacity .28s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){.project-img.is-load-sequenced.is-load-revealed{transition-duration:.12s}}.project-meta:hover .project-name{color:var(--muted)}.project-thumb:hover .project-img:not(.is-load-sequenced),.project-thumb:hover .project-img.is-load-revealed{opacity:.88}.gallery{z-index:100;background:var(--bg);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pinch-zoom;display:none;position:fixed;inset:0;overflow:hidden}.gallery.is-open{display:block}.gallery-title,.gallery-project-nav,.gallery-close,.gallery-counter{z-index:6;color:var(--ink);position:fixed}.gallery-thumbnails{z-index:7;overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;gap:5px;width:44px;max-height:min(46vh,420px);display:flex;position:fixed;bottom:24px;left:24px;overflow:hidden auto}.gallery-thumbnails::-webkit-scrollbar{display:none}.gallery-thumbnail{opacity:.32;flex:0 0 56px;width:44px;height:56px;transition:opacity .12s;overflow:hidden}.gallery-thumbnail:hover,.gallery-thumbnail[aria-current=true]{opacity:1}.gallery-thumbnail[aria-current=true]{outline:1px solid var(--ink);outline-offset:-1px}.gallery-thumbnail:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.gallery-thumbnail img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.gallery-close{text-align:left;min-width:24px;min-height:24px;top:24px;left:24px}.gallery-title{max-width:58vw;font-weight:inherit;text-align:right;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;margin:0;top:24px;right:24px;overflow:hidden}.gallery-project-nav{align-items:center;gap:16px;display:flex;bottom:24px;right:24px}.gallery-project-step{min-width:24px;min-height:24px;color:inherit;letter-spacing:0;flex:none;margin:-4px;padding:4px;line-height:1}.gallery-project-step:hover,.gallery-close:hover{color:var(--muted)}.gallery-project-step:focus-visible{outline-offset:2px;outline:1px solid}.gallery-counter{font-variant-numeric:tabular-nums;pointer-events:none;bottom:24px;left:50%;transform:translate(-50%)}.gallery-images{will-change:transform;transition:transform .68s cubic-bezier(.22,1,.36,1);display:block}.gallery.is-next-project .gallery-thumbnails,.gallery.is-next-project .gallery-title,.gallery.is-next-project .gallery-project-nav{pointer-events:none;transform:translateY(-100dvh)}.gallery-title,.gallery-thumbnails,.gallery-project-nav{will-change:transform;transition:transform .68s cubic-bezier(.22,1,.36,1)}.gallery.is-project-transition .gallery-thumbnails,.gallery.is-project-transition .gallery-title,.gallery.is-project-transition .gallery-project-nav,.gallery.is-project-transition .gallery-counter{visibility:hidden;pointer-events:none}.gallery .gallery-project-outgoing{z-index:5;pointer-events:none;will-change:transform;position:absolute;inset:0}.gallery-images.is-instant{transition:none}@media (prefers-reduced-motion:reduce){.hero-menu-symbol:before,.hero-menu-symbol:after{transition:none!important}.page-loader{transition:none}.page-loader-line:before{width:100%;animation:none;transform:none}.gallery-images,.view-switcher,.view-switcher:before,.view-switcher-option,.stage.is-view-ready .project-index,.project-index-preview,.project-index-keyboard-hint,.sticky-site-name,.gallery-thumbnail,.gallery-title,.gallery-thumbnails,.gallery-project-nav{transition:none}}.gallery-item{place-items:center;width:100%;height:100dvh;display:grid;position:relative;overflow:hidden}.gallery-item img{background:var(--bg);object-fit:contain;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.gallery-next-project-slide{background:var(--bg)}.gallery-next-project-card{width:100%;height:100%;color:var(--ink);text-align:center;text-transform:uppercase;align-content:center;justify-items:center;gap:clamp(14px,1.15vh,22px);display:grid}.gallery-next-project-label,.gallery-next-project-client{letter-spacing:.18em;max-width:min(520px,72vw);font-size:clamp(10px,.52vw,14px);line-height:1.45}.gallery-next-project-label{color:var(--muted);font-size:clamp(9px,.46vw,12px);line-height:1}.gallery-next-project-media{place-items:center;display:grid;position:relative;overflow:hidden}.gallery-next-project-media:after{z-index:1;content:"";opacity:0;pointer-events:none;background:#ffffffd9;transition:opacity .16s;position:absolute;inset:0}.gallery-item .gallery-next-project-image{object-fit:contain;opacity:1;background:0 0;width:auto;max-width:clamp(420px,38vw,760px);height:auto;max-height:68dvh;transition:opacity .16s;display:block;position:static;inset:auto}.gallery-next-project-action{z-index:2;color:var(--ink);letter-spacing:.18em;opacity:0;pointer-events:none;font-size:clamp(10px,.52vw,14px);line-height:1;transition:opacity .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.gallery-next-project-media:hover:after,.gallery-next-project-card:focus-visible .gallery-next-project-media:after,.gallery-next-project-media:hover .gallery-next-project-action,.gallery-next-project-card:focus-visible .gallery-next-project-action{opacity:1}.gallery-next-project-card:focus-visible{outline:none}.gallery-next-project-card:focus-visible .gallery-next-project-client{outline-offset:4px;outline:1px solid}@media (prefers-reduced-motion:reduce){.gallery-item .gallery-next-project-image,.gallery-next-project-action,.gallery-next-project-media:after{transition:none}}.transition-flyer{z-index:200;pointer-events:none;background:var(--bg);transform-origin:0 0;will-change:transform, opacity;position:fixed;overflow:hidden}.transition-flyer img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.gallery-project-carry-flyer img{object-fit:contain}body.overlay-open{overflow:hidden}@media (min-width:1500px){:root{--type-ui:12px;--type-project:11px;--type-footer:11px;--vertical-set-height:250px;--horizontal-set-height:200px;--bio-copy-width:clamp(640px, 46vw, 820px)}}@media (min-width:2200px){:root{--type-ui:14px;--type-project:12px;--type-footer:12px;--vertical-set-height:280px;--horizontal-set-height:224px;--stage-x:48px;--stage-y:40px;--meta-column:280px;--bio-copy-width:920px}}@media (max-width:900px){:root{--vertical-set-height:152px;--horizontal-set-height:130px;--stage-x:24px;--stage-y:24px;--meta-column:144px}.hero{padding:40px 0 var(--media-gap)}.project-row{grid-template-columns:var(--meta-column) minmax(0, 1fr)}}@media (max-width:620px){:root{--vertical-set-height:clamp(155px, 50vw, 260px);--horizontal-set-height:clamp(115px, 34vw, 190px);--stage-x:16px;--stage-y:16px;--row-pad:20px;--optical-inset:1px;--bio-copy-width:100%}.hero{letter-spacing:.05em;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:14px 18px;padding:28px 0 20px;font-size:11px;line-height:1.5;display:grid}.sticky-site-name{display:none}.hero-name{grid-area:1/1}.hero-name .hero-loc{margin-top:3px;font-size:9px;display:block}.hero-name-comma{display:none}.hero-copy{grid-area:2/1/auto/-1}.hero-copy h1,.hero-copy .hero-intro{letter-spacing:.04em;max-width:30em;font-size:11px;line-height:1.65}.hero-contact{letter-spacing:.08em;text-align:left;transform:translateX(var(--optical-inset));flex-direction:row;grid-area:3/1/auto/-1;align-items:center;gap:18px;margin-left:0;padding-right:0;font-size:9px}.hero-contact a,.hero-email-copy{min-height:24px;line-height:1}.hero-contact a:focus-visible,.hero-email-copy:focus-visible{text-underline-offset:4px;outline:none;text-decoration:underline}.site-footer{padding-top:32px}.view-switcher{bottom:max(10px, calc(env(safe-area-inset-bottom) - 4px));min-width:200px}.view-switcher-option{min-height:32px;padding:0 14px;font-size:9px}.project-row{display:block}.project-meta{grid-template-columns:1fr;gap:4px;margin:0 0 8px;transform:none}.project-name,.project-year{font-size:9px}.project-strip{margin-right:0;padding-right:0}.project-index-filters{padding-top:0;padding-bottom:16px}.project-index-filter-options{white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;gap:0;width:100%}.project-index-filter-option{letter-spacing:.04em}.project-index-columns{display:none}.project-index-row{gap:var(--row-column-gap);grid-template-columns:minmax(0,1fr) 80px;min-height:56px;padding-top:8px;padding-bottom:8px}.project-index-preview,.project-index-client,.project-index-palette{display:none}.project-index-main{flex-direction:column;gap:5px;display:flex}.project-index-mobile-client{display:inline}.project-index-meta{text-align:right;grid-template-columns:1fr;gap:5px}.gallery-close{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));justify-content:flex-start;align-items:flex-start;min-width:44px;min-height:44px;display:flex}.gallery-thumbnails{display:none}.gallery-title{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));left:calc(max(16px, env(safe-area-inset-left)) + 56px);overflow-wrap:anywhere;text-overflow:clip;white-space:normal;max-width:none;line-height:1.35}.gallery-counter{left:max(16px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));transform:none}.gallery-project-nav{right:max(16px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom))}.gallery-next-project-card{gap:12px;padding:56px 16px 64px}.gallery-item .gallery-next-project-image{max-width:64vw;max-height:48dvh}.gallery-next-project-label,.gallery-next-project-client,.gallery-next-project-action{font-size:9px}}.hero-copy h1+p{max-width:var(--bio-copy-width);font-size:var(--type-ui);margin:10px 0 0;line-height:1.75}a.project-meta,a.project-thumb,a.project-index-row{color:inherit;text-decoration:none}h2.project-name{font-weight:inherit;margin:0}.static-project-intro{font-size:var(--type-ui);margin-bottom:24px;line-height:1.75}.static-project-images{gap:24px;display:grid}.static-project-images figure{margin:0}.static-project-images img{object-fit:contain;max-width:100%;height:auto;max-height:90vh;display:block}.static-project-images figcaption{font-size:var(--type-ui);margin-top:8px}body:not(.js-ready) .view-switcher{display:none}.gallery.is-project-transition .gallery-next-project-media:after,.gallery.is-project-transition .gallery-next-project-action{visibility:hidden;opacity:0;transition:none}
body.js-ready:not(.needs-route-sync) .page-loader{opacity:0;visibility:hidden;pointer-events:none}body:not(.js-ready) .project-img:not([src]),body:not(.js-ready) .stage[data-project],body:not(.js-ready) .gallery{display:none}.gallery:focus{outline:none}
