@font-face{font-family:inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.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:konkhmer sleokchher;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/konkhmer-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:konkhmer sleokchher;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/konkhmer-latin.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}:root{--bg:#f5f5f5;--surface:#ffffff;--ink:#161616;--ink-soft:#55555f;--navy:#0f1584;--lime:#c3f22f;--line:rgb(15 21 132 / 0.14);--shade:#e7e7ec;--font-display:"Konkhmer Sleokchher", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step--1:clamp(0.8125rem, 0.7869rem + 0.1136vw, 0.875rem);--step-0:clamp(1rem, 0.9489rem + 0.2273vw, 1.125rem);--step-1:clamp(1.1875rem, 1.1108rem + 0.3409vw, 1.375rem);--step-2:clamp(1.375rem, 1.2216rem + 0.6818vw, 1.75rem);--step-3:clamp(1.75rem, 1.3409rem + 1.8182vw, 2.75rem);--step-4:clamp(2.25rem, 1.5341rem + 3.1818vw, 4rem);--step-5:clamp(3rem, 1.7727rem + 5.4545vw, 6rem);--space-3xs:0.25rem;--space-2xs:0.5rem;--space-xs:0.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:clamp(2.25rem, 1.943rem + 1.3636vw, 3rem);--space-2xl:clamp(3rem, 2.3864rem + 2.7273vw, 4.5rem);--section:clamp(4rem, 2.5682rem + 6.3636vw, 7.5rem);--gutter:clamp(1.25rem, 0.2273rem + 4.5455vw, 3.75rem);--gap:clamp(1rem, 0.7955rem + 0.9091vw, 1.5rem);--radius:clamp(0.75rem, 0.5455rem + 0.9091vw, 1.25rem);--radius-lg:clamp(1.25rem, 0.9432rem + 1.3636vw, 2rem);--container:75rem;--header-h:clamp(4rem, 3.5909rem + 1.8182vw, 5rem);--ease:cubic-bezier(0.2, 0.7, 0.2, 1)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-m))}body{display:flex;flex-direction:column;min-height:100dvh;margin:0;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{flex:1}img,video,svg{display:block;max-width:100%;height:auto}figure,h1,h2,h3,p,ul,dl,dd{margin:0}ul{padding:0}a{color:inherit}button{font:inherit}h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:-.01em;color:var(--navy);text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--lime);color:var(--navy)}:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:6px}.skip-link{position:absolute;top:-4rem;left:var(--gutter);z-index:100;padding:var(--space-2xs)var(--space-s);border-radius:999px;background:var(--navy);color:var(--lime);text-decoration:none}.skip-link:focus{top:var(--space-s)}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.section{margin-top:var(--section)}.section-title{font-size:var(--step-3)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-m);margin-bottom:var(--space-xl)}.count{display:inline-grid;place-items:center;min-width:1.9em;height:1.9em;margin-left:.35em;padding-inline:.5em;border-radius:999px;background:var(--lime);color:var(--navy);font-family:var(--font-body);font-size:.4em;font-weight:600;vertical-align:super}.eyebrow{font-size:var(--step--1);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}.marker{background:linear-gradient(var(--lime),var(--lime))no-repeat 0 88%/100% .4em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.6em .85em;border-radius:999px;background:var(--navy);color:var(--lime);font-family:var(--font-display);font-size:var(--step-0);line-height:1;text-decoration:none;white-space:nowrap;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.btn:hover{transform:translateY(-2px)rotate(-1.5deg);box-shadow:0 10px 24px -12px rgb(15 21 132/.6)}.btn--lime{background:var(--lime);color:var(--navy)}.btn--lime:hover{box-shadow:0 10px 24px -12px rgb(0 0 0/.45)}.arrow{display:inline-block;transition:transform .3s var(--ease)}a:hover>.arrow{transform:translateX(.25em)}.back-link:hover>.arrow{transform:translateX(-.25em)}.text-link{color:var(--navy);font-weight:600;text-decoration:none;background:linear-gradient(var(--lime),var(--lime))no-repeat 0 88%/0 .4em;transition:background-size .35s var(--ease)}.text-link:hover{background-size:100% .4em}.site-header{position:sticky;top:0;z-index:50;background:rgb(245 245 245/.82);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);transition:box-shadow .3s var(--ease);view-transition-name:site-header}.site-header[data-scrolled]{box-shadow:0 1px 0 var(--line)}.site-header__inner{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);min-height:var(--header-h)}.site-header__logo{margin-right:auto;flex-shrink:0}.site-header__logo img{width:auto;height:clamp(2rem,1.6rem + 1.4vw,2.75rem)}.site-nav ul{display:flex;gap:clamp(1rem,3vw,2.5rem);list-style:none}.site-nav a{font-family:var(--font-display);font-size:var(--step-1);color:var(--navy);text-decoration:none;background:linear-gradient(var(--lime),var(--lime))no-repeat 0 88%/0 .4em;transition:background-size .35s var(--ease)}.site-nav a:hover,.site-nav a[aria-current]{background-size:100% .4em}.btn-blob{position:relative;isolation:isolate;display:inline-grid;place-items:center;flex-shrink:0;padding:.85em 1.5em .75em;color:var(--lime);font-family:var(--font-display);font-size:var(--step-1);line-height:1;text-decoration:none;white-space:nowrap;transition:transform .35s var(--ease)}.btn-blob img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:fill}.btn-blob:hover,.btn-blob[aria-current]{transform:rotate(-3deg)scale(1.04)}.hero{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);align-items:center;gap:var(--space-2xl);padding-top:clamp(1.5rem,5vw,4.5rem)}.hero__name{font-size:var(--step-5);line-height:.95;letter-spacing:-.02em}.hero__role{margin-top:var(--space-m);font-family:var(--font-display);font-size:var(--step-3);line-height:1.12;color:var(--navy)}.hero__intro{margin-top:var(--space-m);max-width:30em;font-size:var(--step-1);line-height:1.55}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s)var(--space-l);margin-top:var(--space-xl)}.hero__art img{width:min(100%,34rem);margin-inline:auto;transform-origin:60% 95%}.carousel{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--shade)}.carousel__track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.carousel__track::-webkit-scrollbar{display:none}.carousel__slide{flex:0 0 100%;aspect-ratio:16/9;scroll-snap-align:start}.carousel__slide img{width:100%;height:100%;object-fit:cover}.carousel__arrow{position:absolute;top:50%;display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:50%;background:var(--bg);color:var(--navy);box-shadow:0 8px 24px -10px rgb(0 0 0/.35);cursor:pointer;opacity:0;translate:0 -50%;transition:opacity .3s var(--ease),transform .3s var(--ease)}.carousel__arrow svg{width:1.25rem;height:1.25rem}.carousel__arrow:hover{transform:scale(1.08)}.carousel__arrow--prev{left:var(--space-m)}.carousel__arrow--next{right:var(--space-m)}.carousel:hover .carousel__arrow,.carousel:focus-within .carousel__arrow{opacity:1}.carousel__dots{position:absolute;left:50%;bottom:var(--space-m);display:flex;gap:6px;padding:8px 10px;border-radius:999px;background:rgb(15 21 132/.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);translate:-50% 0}.carousel__dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgb(255 255 255/.6);cursor:pointer;transition:width .35s var(--ease),background-color .35s var(--ease)}.carousel__dots button[aria-current=true]{width:24px;background:var(--lime)}.marquee-wrap{margin-top:var(--section);overflow-x:clip}.marquee{width:104vw;margin-left:-2vw;padding-block:var(--space-m);overflow:hidden;background:var(--navy);color:var(--lime);rotate:-2deg}.marquee__track{display:flex;width:max-content;animation:marquee 45s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__list{display:flex;gap:var(--space-l);padding-right:var(--space-l);list-style:none}.marquee__list li{display:flex;align-items:center;gap:var(--space-l);font-family:var(--font-display);font-size:var(--step-3);line-height:1.2;white-space:nowrap}.marquee__list li::after{content:"";width:.5em;height:.5em;background:currentColor;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}@keyframes marquee{to{transform:translateX(-50%)}}.services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl)var(--gap);list-style:none}.service{display:flex;flex-direction:column;align-items:center;text-align:center}.service__img{width:min(100%,17rem);aspect-ratio:1;object-fit:contain;transition:transform .6s var(--ease)}.service:hover .service__img{transform:rotate(-5deg)scale(1.04)}.service__title{margin-top:var(--space-m);font-size:var(--step-2);max-width:14em}.service__text{margin-top:var(--space-xs);max-width:30ch;color:var(--ink-soft)}.callout{display:flex;align-items:center;justify-content:space-between;gap:var(--space-l);margin-top:var(--space-2xl);padding:clamp(1.75rem,1rem + 3.4vw,3.5rem);border-radius:var(--radius-lg);background:var(--navy)}.callout__text{max-width:28em;font-family:var(--font-display);font-size:var(--step-2);line-height:1.25;color:var(--surface)}.divider{display:flex;justify-content:center;margin-top:var(--section)}.divider img{width:min(100%,38rem)}.work__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl)var(--gap);list-style:none}.card{display:block;color:inherit;text-decoration:none}.card__media{position:relative;overflow:hidden;aspect-ratio:5/4;border-radius:var(--radius);background:var(--shade)}.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.card:hover .card__media img{transform:scale(1.045)}.card__cta{position:absolute;right:var(--space-s);bottom:var(--space-s);padding:.7em 1.1em .6em;border-radius:999px;background:var(--lime);color:var(--navy);font-family:var(--font-display);font-size:var(--step--1);line-height:1;transform:translateY(calc(100% + var(--space-m)));transition:transform .5s var(--ease)}.card:hover .card__cta,.card:focus-visible .card__cta{transform:none}.card__body{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:baseline;gap:var(--space-2xs)var(--space-m);padding-top:var(--space-m)}.card__title{font-size:var(--step-2)}.card__year{padding:.25em .75em;border:1.5px solid var(--line);border-radius:999px;color:var(--navy);font-size:var(--step--1);font-weight:600;white-space:nowrap}.card__meta{grid-column:1/-1;max-width:34em;color:var(--ink-soft)}.contact{display:grid;grid-template-columns:minmax(0,1.15fr)minmax(0,1fr);align-items:center;gap:var(--space-xl);padding:clamp(2rem,1rem + 4.5vw,4.5rem);border-radius:var(--radius-lg);background:var(--lime);color:var(--navy)}.contact__title{font-size:var(--step-4)}.contact__lead{margin-top:var(--space-s);max-width:26em;font-size:var(--step-1);line-height:1.5}.contact__email{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)var(--space-s);margin-top:var(--space-xl)}.contact__email a,.contact__phone a{font-family:var(--font-display);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.18em}.contact__email a{font-size:var(--step-2);overflow-wrap:anywhere}.contact__email a:hover,.contact__phone a:hover{text-decoration-thickness:4px}.contact__phone{margin-top:var(--space-2xs);font-size:var(--step-1)}.copy-btn{padding:.45em 1em .4em;border:1.5px solid var(--navy);border-radius:999px;background:0 0;color:var(--navy);font-size:var(--step--1);font-weight:600;line-height:1;cursor:pointer;transition:background-color .25s,color .25s}.copy-btn:hover,.copy-btn[data-copied]{background:var(--navy);color:var(--lime)}.contact__social{display:flex;gap:var(--space-s);margin-top:var(--space-xl);list-style:none}.contact__social img{width:2.75rem;height:2.75rem;transition:transform .3s var(--ease)}.contact__social a:hover img{transform:translateY(-3px)rotate(-6deg)}.contact__art img{width:min(100%,26rem);margin-inline:auto}.site-footer{margin-top:var(--section);padding-bottom:var(--space-l)}.footer-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-xs)var(--space-l);padding-top:var(--space-l);color:var(--ink-soft);font-size:var(--step--1)}.footer-bar ul{display:flex;flex-wrap:wrap;gap:var(--space-xs)var(--space-m);list-style:none}.footer-bar a{text-decoration:none}.footer-bar a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:.2em}.page-head{padding-top:clamp(1.5rem,.8rem + 3vw,3.5rem)}.page-title{font-size:var(--step-4)}.back-link{display:inline-flex;gap:.4em;margin-bottom:var(--space-m);color:var(--navy);text-decoration:none}.page-head__sub{margin-top:var(--space-s);max-width:36em;font-size:var(--step-1);line-height:1.5;color:var(--ink-soft)}.project-hero{margin-top:var(--space-xl);overflow:hidden;border-radius:var(--radius-lg);background:var(--shade)}.project-hero img,.project-hero video{width:100%}.project-hero video{aspect-ratio:16/9;background:#000}.project-intro{display:grid;grid-template-columns:minmax(0,2fr)minmax(0,1fr);gap:var(--space-2xl);margin-top:var(--space-2xl)}.project-intro__text{max-width:38em;font-size:var(--step-1);line-height:1.6}.project-intro__text p+p{margin-top:1em}.facts{display:grid;gap:var(--space-m);align-content:start}.facts>div{padding-top:var(--space-s);border-top:1.5px solid var(--line)}.facts dd{margin-top:var(--space-3xs)}.facts ul{list-style:none}.gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--gap);margin-top:var(--space-2xl)}.gallery__item{flex:0 0 100%}.gallery__item--medium{flex-basis:calc((100% - 2 * var(--gap))/3 * 2 + var(--gap))}.gallery__item--half{flex-basis:calc((100% - var(--gap))/2)}.gallery__item--third{flex-basis:calc((100% - 2 * var(--gap))/3)}.gallery__item--quarter{flex-basis:calc((100% - 3 * var(--gap))/4)}.gallery__item--fifth{flex-basis:calc((100% - 4 * var(--gap))/5)}.gallery__item img{width:100%;border-radius:var(--radius)}.gallery__item--crop img{height:100%;object-fit:cover}.gallery__item[data-zoom]{cursor:zoom-in}.zoom{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--gutter);background:color-mix(in srgb,var(--ink) 60%,transparent);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s var(--ease),visibility .25s}.zoom.is-open{opacity:1;visibility:visible}.zoom.is-pinned{pointer-events:auto;cursor:zoom-out}.zoom img{max-width:100%;max-height:calc(100dvh - 2 * var(--gutter));padding:var(--space-s);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 24px 60px -24px rgb(0 0 0/.6)}@media(prefers-reduced-motion:reduce){.zoom{transition:none}}.gallery__item--contain img{object-fit:contain}.next-project{margin-top:var(--section)}.next-project a{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:var(--space-l);padding-block:var(--space-xl);border-block:1.5px solid var(--line);color:inherit;text-decoration:none}.next-project__title{margin-top:var(--space-2xs);font-size:var(--step-4)}.next-project__title .arrow{color:var(--navy)}.next-project__thumb{width:clamp(7rem,4rem + 14vw,16rem);overflow:hidden;aspect-ratio:5/4;border-radius:var(--radius);background:var(--shade)}.next-project__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.next-project a:hover .next-project__thumb img{transform:scale(1.06)}.about{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,7fr);align-items:start;gap:var(--space-2xl)}.about__photo{position:sticky;top:calc(var(--header-h) + var(--space-l));overflow:hidden;border-radius:var(--radius-lg);background:var(--shade)}.about__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}.about__body{margin-top:var(--space-xl);max-width:34em;font-size:var(--step-1);line-height:1.6}.about__body p+p{margin-top:1em}.about__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s)var(--space-l);margin-top:var(--space-xl)}.prose{max-width:44rem;margin-top:var(--space-xl)}.prose>*+*{margin-top:.9em}.prose h2,.prose h3{margin-top:2em;font-size:var(--step-2)}.prose ul{padding-left:1.2em}.prose li+li{margin-top:.3em}.prose a{color:var(--navy);text-underline-offset:.2em;overflow-wrap:anywhere}.not-found{display:grid;justify-items:center;gap:var(--space-m);padding-top:var(--space-2xl);text-align:center}.not-found img{width:min(70%,20rem)}.not-found p{max-width:28em;font-size:var(--step-1)}.js .reveal{opacity:0;transform:translateY(1.5rem);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}.js .reveal.is-in{opacity:1;transform:none}.js .divider img{clip-path:inset(0 100% 0 0);transition:clip-path 1.8s var(--ease)}.js .divider.is-in img{clip-path:inset(0 0 0 0)}.js .hero .marker{background-size:0 .4em;animation:mark .9s .5s var(--ease)forwards}@keyframes mark{to{background-size:100% .4em}}.hero__art img{animation:float 7s ease-in-out infinite}@keyframes float{50%{transform:translateY(-12px)rotate(-1.5deg)}}@view-transition{navigation: auto; }::view-transition-group(*){animation-duration:.5s;animation-timing-function:var(--ease)}::view-transition-old(*),::view-transition-new(*){height:100%;object-fit:cover}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.js .divider img{clip-path:none}.js .hero .marker{background-size:100% .4em}@view-transition{navigation: none; }}@media(max-width:63.99rem){.services__grid{gap:var(--space-xl)var(--space-s)}.callout{flex-direction:column;align-items:flex-start}.contact{grid-template-columns:minmax(0,1fr)}.contact__art img{width:min(70%,20rem);margin:0}.project-intro{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:47.99rem){.site-header__inner,.site-nav ul{gap:var(--space-s)}.site-nav a{font-size:var(--step-0)}.btn-blob{padding:.8em 1.15em .7em;font-size:var(--step-0)}.hero{grid-template-columns:minmax(0,1fr);gap:var(--space-l)}.hero__art{order:-1}.hero__art img{width:min(72%,18rem)}.carousel__slide{aspect-ratio:4/3}.carousel__arrow{display:none}.services__grid{grid-template-columns:minmax(0,1fr)}.service__img{width:min(70%,15rem)}.work__grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.facts{grid-template-columns:minmax(0,1fr)}.gallery__item--medium{flex-basis:100%}.gallery__item--third,.gallery__item--quarter,.gallery__item--fifth{flex-basis:calc((100% - var(--gap))/2)}.about{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.about__photo{position:static}.about__photo img{aspect-ratio:1}.next-project__thumb{display:none}.footer-bar{flex-direction:column}}@media(hover:none){.carousel__arrow{display:none}}