@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+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: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+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: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+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}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAaEABMAAAAADFgAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiDAcbvgpRVHJOI/viwCYyfSFrJjFIG8raYpYj9+IeSF0s6zD+Lk/4OGrZHhHV+wvt2ffuWPwlA51lIICIosSVmyOKEs5Uzlx3NKeXIgn1ssCydUybDV0IHga+SszIyfrQe9bLTFNxjayzgs76hNsDoSYtRe32fiJ4gxBjrP8L+w//zzHjv7Yqyr9o2vOBDXhCo2jMtr4uwAK/gV1U0PxAq/EAD+yW9EoKOL1KLw8rHrFgCSgRTQRzBzpeXVhweEDlyfY8gIoOa2CQJzrTAHIIoitTMVV2dyFwpJ2iAEQTpSkhPitxD3YwuZHEagTcAhyKAcBmUyPdhTovJThOw6HYiaF2M/J7erdi2OUutor6ES6Ac88AvfZvKpb6fJoArohb524042j6Jij36NI7P8Pb7s721naN9gcTtcjXQP4l+8BKEzFVGMxxoHqlq8Ul4LGneFJBDFaOdKpLPcg8P14YSDwIcn75hdlyJLTBlZ4voL6tT46yC/njunXqpJ0/bSvmrH1o3kRlwZ+j0DBogkF3KbDRVBlbOc+fY5HVXwPoT9hfekPnyZMaEmenYLMSg5npqegFOsgXsBv1IoF9aIVfSCNHkk6+gIzILsiYuhWQCfUtZEpbkRntQxBZgw7MwFbMcRvwJrAnBlDqs7isLtL7pO84Xru1i7ah7tckH1Wreqq6K9u0amxU1bcff/s2Y1ni3rh2I8zHzqkm3PGvv3mzC6NDBz/UcOBIg+nm88rxN8MbdtypvHUL5o1c2zG0urYpRmW+VHZdiba6GXN/3v0B3i3nt4RBsbfAu8ftLqRcTIlZ4VYheFTAS5nXLS65VZrbuW3daF2Ze1ChyGXWZN6u9nUuH1LfyTERifZXEpIueMe28vF8FOoTnsONzw+1djo9P71lZGx1vM8mH/BhvSa2HDsRZ1+Ul+RmpnPOIaEuwWnZZdkgQWAAyCDDZ1wk+0sh7wseAAwA6UlHxbftCgYAAwKAgwIAEA7ACfHIRbV7J6dwF/ZzcRRmAjXUYKAGWAlDCCFmKnH+LJEQfHKEmVrfmKwSEab36AcubXQBoDYJV/aRV+funFD8wAXLSLYbwr9+DR+h/qZIKCfeqRG5ghHpdY0zcV2nuz5iJMhAFjaTDwOcoyKGG9JHrCfdp4cC+kCvUrxc7+bliIMiHj95sPIbUeWZEP/HLnN2tlr9EBeRiktHuWvErx98fRz1MuEvHO3FDRgtsSzL/P0hsDLK2n5/uHMOjvTst0HD6t+80ZN798j7j//kjqHxIOZDFPR/FxurFD6/HxGbB799RPHLx5F89MoBOub9jVuOWtmPH3o9H3r26DIuff+LqPLwff/xryDRmiAYmjxiK0GwS9XU+k8QpUrHsCTs4qH89Fv44ubWbQmOE51M7J8Pt8+h+NKt3zZpa2L9zZqcRlyEc4MaNGdfjQCxgIygn78ne4yAzcLWA3zAJ6RRGbijvHr1W+XN8ywrG0EoZSySb0/A9KsllI7Q/Pq8hLu76tfTy5cF4X8bQxTtYp2vr6/+1oI4AhgAlNYFryt62VaX9ktO6VsAeDLeWx6fff4vdV1ts7N6+gw9GCsQnqPB0QUttB9nEc7Aaf4XM0NQ90VJ+HV1rG04znGCmXcpPCA9+nxdMPgPlT7Dz83NMfZuMJaNeRqbc+tjd2QER/b0B44d7nv5Rif7VC8svYkx9SKWwb3YzN2M3cY8jSNLl+PYZqfjxNTxOLXVCmfmduDc0ty1kLbjeiGfIrDFJXWPTTMD5TKupR8cpZgJeXTofId8NoUj6E8XfAc2k4WPdbCberDYAp8Q7L5dUo8wE8cs9QINZYvwXKzvBS4v/n+fQZkGrrFysKEIuFBgjQpxiHH1XA+ZBI+C+oAoxhYKECc42rGOc8L4mYhsiThGfFjOcKmFubPpDgwnY1918Fwo8ouenDJxvGP96HFWJ28hiOy251oKjkcbGz2POMme8CTMThx6wqOPsFtPI6j6HhDyDTxFQYnL88FcXGAGHl3ZuueRbEuxbK6Hc84ZDvRrREtLzyjj8Xkd/uShR1b0sYd8Nh8/c8znxCnadxQcf2nFVWIyw1g+4StXav9j75s+CQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.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{--ink: #16110e;--ink-2: #211a15;--linen: #ece3d6;--paper: #f4eee4;--clay: #c29474;--clay-deep: #8a5a3c;--door: #1f9a8e;--door-deep: #167a70;--text-dark: #2a211b;--display: "Bricolage Grotesque Variable", "Helvetica Neue", Arial, sans-serif;--body: "Hanken Grotesk Variable", "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.6;color:var(--linen);background:var(--ink);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--door);outline-offset:3px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.liquid-ether{position:relative;width:100%;height:100%;overflow:hidden}.liquid-ether__canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.tech-text{position:relative;width:100%;height:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none}.tech-text-canvas{display:block;width:100%;height:100%}.line-waves{position:relative;width:100%;height:100%;overflow:hidden}.line-waves__canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.circular-carousel{--cc-fade: #000000;--cc-radius: 12px;--cc-inner: .4;position:relative;width:100%;height:100%;overflow:hidden;outline:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.circular-carousel[data-axis=x]{touch-action:pan-x}.circular-carousel[data-draggable]{cursor:grab}.circular-carousel[data-dragging]{cursor:grabbing}.circular-carousel:focus-visible{box-shadow:inset 0 0 0 2px #80808c8c}.circular-carousel__view{position:absolute;top:0;right:0;bottom:0;left:0}.circular-carousel[data-shape=wheel] .circular-carousel__view{-webkit-mask-image:linear-gradient(to bottom,transparent,#000000 18%,#000000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000000 18%,#000000 82%,transparent)}.circular-carousel[data-shape=panorama] .circular-carousel__view{-webkit-mask-image:linear-gradient(to right,transparent,#000000 12%,#000000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000000 12%,#000000 88%,transparent)}.circular-carousel__stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .45s ease}.circular-carousel[data-ready] .circular-carousel__stage{opacity:1}.circular-carousel__camera,.circular-carousel__ring,.circular-carousel__card{width:0;height:0;transform-style:preserve-3d}.circular-carousel__camera{position:relative}.circular-carousel__ring,.circular-carousel__card{position:absolute;left:0;top:0}.circular-carousel__tile{position:absolute;outline:1px solid transparent;backface-visibility:hidden;-webkit-backface-visibility:hidden}.circular-carousel__frame{position:absolute;left:0;top:0;width:100%;overflow:hidden}.circular-carousel__photo{position:absolute;display:block;max-width:none;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.circular-carousel__photo--leaving{animation:circular-carousel-leave .7s cubic-bezier(.33,1,.68,1) both}.circular-carousel__shade,.circular-carousel__inner{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.circular-carousel__shade{background:var(--cc-fade);opacity:var(--cc-depth, 0)}.circular-carousel__inner{background:#000;opacity:var(--cc-inner)}.circular-carousel__caption{position:absolute;left:0;right:0;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 16px;color:inherit;text-align:center;pointer-events:none;animation:circular-carousel-reveal .9s ease both}.circular-carousel__title{display:flex;max-width:100%;flex-direction:column;align-items:center;font-size:15px;font-weight:500;line-height:1.35;animation:circular-carousel-title .52s cubic-bezier(.22,1,.36,1)}.circular-carousel__subtitle{font-weight:400;opacity:.6}.circular-carousel__count{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-variant-numeric:tabular-nums;line-height:1;opacity:.5}.circular-carousel__slash{opacity:.6}.circular-carousel__digits{display:inline-flex}.circular-carousel__digit{display:inline-block;height:1em;overflow:hidden}.circular-carousel__reel{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.22,1,.36,1)}.circular-carousel__reel>span{height:1em}.circular-carousel__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes circular-carousel-title{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes circular-carousel-leave{0%{opacity:1}to{opacity:0}}@keyframes circular-carousel-reveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.circular-carousel__stage,.circular-carousel__reel{transition:none}.circular-carousel__caption,.circular-carousel__title{animation:none}}.signal-type{--signal-ink: #fff1e0;--signal-glow: 194, 148, 116;color:var(--signal-ink)}.signal-type__word{display:inline-block;white-space:nowrap}.signal-type__char{display:inline-block;opacity:.1;color:rgba(var(--signal-glow),.55)}.signal-type[data-lit] .signal-type__char{animation:signal-on var(--flick) steps(1,end) var(--delay) forwards}@keyframes signal-on{0%{opacity:.1}7%{opacity:1;color:var(--signal-ink);text-shadow:0 0 6px rgba(255,214,170,.9),0 0 24px rgba(var(--signal-glow),.8)}11%{opacity:.12;color:rgba(var(--signal-glow),.55);text-shadow:none}19%{opacity:1;color:var(--signal-ink);text-shadow:0 0 6px rgba(255,214,170,.9),0 0 24px rgba(var(--signal-glow),.8)}26%{opacity:.3;color:rgba(var(--signal-glow),.7);text-shadow:0 0 10px rgba(var(--signal-glow),.3)}34%{opacity:1;color:var(--signal-ink);text-shadow:0 0 6px rgba(255,214,170,.9),0 0 24px rgba(var(--signal-glow),.8),0 0 70px rgba(var(--signal-glow),.45)}to{opacity:1;color:var(--signal-ink);text-shadow:0 0 6px rgba(255,214,170,.85),0 0 24px rgba(var(--signal-glow),.75),0 0 70px rgba(var(--signal-glow),.45)}}@media (prefers-reduced-motion: reduce){.signal-type__char,.signal-type[data-lit] .signal-type__char{animation:none;opacity:1;color:var(--signal-ink);text-shadow:0 0 24px rgba(var(--signal-glow),.6)}}.heading{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.04;letter-spacing:-.03em;max-width:18ch}.band{padding:clamp(4.5rem,10vw,8rem) clamp(1.25rem,6vw,5rem)}.band--light{background:var(--paper);color:var(--text-dark)}.button{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;border-radius:999px;background:var(--door);color:#fff;font-weight:600;text-decoration:none;transition:background .2s ease,transform .2s ease}.button:hover{background:var(--door-deep)}.button:active{transform:translateY(1px)}.button--small{padding:.5rem 1rem;font-size:.9rem}.button--large{padding:1.05rem 1.9rem;font-size:1.1rem}.link{color:inherit;text-decoration:underline;text-decoration-color:var(--clay);text-underline-offset:.3em;text-decoration-thickness:1.5px}.link:hover{text-decoration-color:currentColor}.topbar{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.9rem clamp(1.25rem,4vw,3rem);background:linear-gradient(to bottom,#16110ed9,#16110e00)}.topbar__brand{font-family:var(--display);font-weight:600;font-size:1.1rem;letter-spacing:-.02em;text-decoration:none}.topbar__nav{display:flex;gap:1.75rem;margin-left:auto}.topbar__nav a{text-decoration:none;font-size:.95rem;opacity:.8}.topbar__nav a:hover{opacity:1}@media (max-width: 860px){.topbar__nav{display:none}.topbar .button{margin-left:auto}}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--ink)}.hero__flow{position:absolute;top:0;right:0;bottom:0;left:0}.hero__word{position:relative;flex:1 1 auto;min-height:52vh;margin-top:4rem;color:var(--linen);font-family:var(--display)}.hero__foot{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;padding:0 clamp(1.25rem,5vw,4rem) clamp(1.75rem,4vw,3rem);pointer-events:none}.hero__foot>*{pointer-events:auto}.hero__lead{margin:0;max-width:34ch;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.45}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem}.manifesto{position:relative;min-height:80svh;display:grid;align-items:center;overflow:hidden;background:#0f0b09}.manifesto__waves{position:absolute;top:0;right:0;bottom:0;left:0}.manifesto__inner{position:relative;padding:clamp(4rem,10vw,8rem) clamp(1.25rem,6vw,5rem);pointer-events:none}.manifesto__title{margin:0;max-width:14ch;font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,8.5vw,7.5rem);line-height:.98;letter-spacing:-.04em}.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}.about__figure{position:sticky;top:5rem;margin:0}.about__figure img{width:100%;height:auto;border-radius:6px}.about__body p{max-width:60ch;margin:1.25rem 0 0}.about__body .heading{margin-bottom:1.5rem}.timeline{list-style:none;margin:2.75rem 0 0;padding:0 0 0 1.5rem;border-left:2px solid var(--clay);display:grid;gap:1.5rem}.timeline li{position:relative;display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;align-items:baseline}.timeline li:before{content:"";position:absolute;left:-1.5rem;top:.65em;width:.7rem;height:.7rem;border-radius:50%;background:var(--paper);border:2px solid var(--clay);transform:translate(-50%)}.timeline strong{font-family:var(--display);font-size:1.6rem;letter-spacing:-.02em}@media (max-width: 860px){.about{grid-template-columns:1fr}.about__figure{position:static;max-width:380px}}.projects{background:var(--ink);padding-left:0;padding-right:0;overflow:hidden}.projects__head{padding:0 clamp(1.25rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 4rem;align-items:end}.projects__head p{margin:0;max-width:44ch;opacity:.75}.projects__stage{position:relative;height:clamp(520px,78vh,720px);margin-top:1rem;color:var(--linen)}@media (max-width: 720px){.projects__head{grid-template-columns:1fr}.projects__stage{height:520px}}.services__list{margin:3rem 0 0;border-top:1px solid rgba(42,33,27,.25)}.services__row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem 3rem;align-items:baseline;padding:1.75rem 0;border-bottom:1px solid rgba(42,33,27,.25)}.services__row dt{font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.6rem);letter-spacing:-.03em;line-height:1.1}.services__row dd{margin:0;max-width:52ch}@media (max-width: 720px){.services__row{grid-template-columns:1fr}}.reviews{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3rem clamp(2rem,6vw,6rem);background:var(--ink-2)}.reviews__number{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(4.5rem,10vw,8rem);line-height:.9;letter-spacing:-.05em;color:var(--clay)}.reviews__score p:last-child{margin:.75rem 0 0;max-width:22ch}.reviews__stars{color:var(--clay);letter-spacing:.15em;white-space:nowrap}.reviews__list{list-style:none;margin:0;padding:0;display:grid;gap:2rem}.reviews__list blockquote{margin:0;padding-left:1.5rem;border-left:2px solid var(--clay);font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.25;letter-spacing:-.02em;max-width:34ch}@media (max-width: 860px){.reviews{grid-template-columns:1fr}}.contact{position:relative;overflow:hidden;background:#0f0b09}.contact__waves{position:absolute;top:0;right:0;bottom:0;left:0}.contact__inner{position:relative;padding:clamp(5rem,11vw,9rem) clamp(1.25rem,6vw,5rem)}.contact__lead{margin:1.25rem 0 0;max-width:40ch;font-size:1.2rem}.contact__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:2rem}.contact__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin:4.5rem 0 0;padding-top:2rem;border-top:1px solid rgba(236,227,214,.25)}.contact__details dt{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--clay)}.contact__details dd{margin:.35rem 0 0;max-width:32ch}.contact__details a{text-decoration-color:#c2947499;text-underline-offset:.25em}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:1.5rem clamp(1.25rem,6vw,5rem);background:var(--ink);font-size:.9rem;opacity:.85}.footer p{margin:0}
