@font-face{font-family:Red Hat Display Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/red-hat-display-latin-ext-wght-normal.Do32GAgg.woff2)format("woff2-variations");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:Red Hat Display Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/red-hat-display-latin-wght-normal.BX-N26TK.woff2)format("woff2-variations");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:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/lexend-vietnamese-wght-normal.RvljkFvg.woff2)format("woff2-variations");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:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/lexend-latin-ext-wght-normal.B6JQhE1e.woff2)format("woff2-variations");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:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/lexend-latin-wght-normal.ci0D1wrL.woff2)format("woff2-variations");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:#f6f6f3;--surface:#fff;--surface-2:#eeeee9;--ink:#151614;--ink-2:#494a46;--muted:#64655f;--line:#e0dfd8;--glass:#fafaf7c7;--accent:#297f36;--accent-ink:#fff;--shadow:0 1px 2px #14140f0d, 0 18px 40px -18px #14140f2e;--font-red-hat:"Red Hat Display Variable";--font-lexend:"Lexend Variable";--font-display:var(--font-red-hat), "Helvetica Neue", Arial, sans-serif;--font-body:var(--font-lexend), "Helvetica Neue", Arial, sans-serif;--ease:cubic-bezier(.16, 1, .3, 1);--gutter:clamp(1.25rem, 4vw, 2.5rem);--radius:20px;color-scheme:light}:root[data-theme=dark]{--bg:#0e0f0e;--surface:#171917;--surface-2:#1d1f1c;--ink:#f1f1ec;--ink-2:#bcbdb6;--muted:#90918a;--line:#2b2d29;--glass:#141614b8;--accent:#5cbb66;--accent-ink:#07110a;--shadow:0 1px 2px #0006, 0 20px 44px -20px #000000b3;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--muted) var(--bg);-webkit-text-size-adjust:100%;overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);caret-color:var(--accent);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;font-weight:350;line-height:1.65;overflow-x:clip}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:700}p{text-wrap:pretty;margin:0}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}[id]{scroll-margin-top:6rem}.container{width:min(1180px, 100% - 2 * var(--gutter));margin-inline:auto}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:10px;padding:.6rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip:focus{transform:none}.btn{color:var(--b-fg);font:500 1rem/1 var(--font-body);white-space:nowrap;cursor:pointer;perspective:800px;isolation:isolate;box-shadow:var(--b-shadow,none);transition:color .3s ease .14s, scale .3s var(--ease), box-shadow .5s var(--ease);border-radius:999px;text-decoration:none;display:inline-flex;position:relative}.btn:hover,.btn:focus-visible{color:var(--b-fg-h);box-shadow:var(--b-shadow-h,var(--b-shadow,none))}.btn:active{scale:.97}.btn-flip{min-height:3.25rem;transform-style:preserve-3d;place-items:center;padding:0 2rem;transition:transform .6s cubic-bezier(.4,0,.2,1);display:grid;position:relative;transform:rotateX(0)}.btn-flip:before,.btn-flip:after{content:"";-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:999px;position:absolute;inset:0}.btn-flip:before{background:var(--b-front);border:1px solid var(--b-border)}.btn-flip:after{background:var(--b-back);border:1px solid var(--b-border-h);transform:rotateX(180deg)}.btn-label{line-height:1.3;transition:transform .6s cubic-bezier(.4,0,.2,1);display:block;position:relative;transform:rotateX(0)translateZ(30px)}.btn:hover .btn-flip,.btn:focus-visible .btn-flip{transform:rotateX(180deg)}.btn:hover .btn-label,.btn:focus-visible .btn-label{transform:rotateX(-180deg)translateZ(30px)}:root{--btn-ink:color-mix(in srgb, var(--ink) 92%, transparent);--btn-deep:light-dark(#000,#fff)}.btn-dark{--b-fg:var(--bg);--b-fg-h:var(--bg);--b-front:var(--btn-ink);--b-border:var(--btn-ink);--b-back:var(--btn-deep);--b-border-h:var(--btn-deep);--b-shadow:0 14px 30px -14px #0006;backdrop-filter:blur(14px)saturate(1.4)}.btn-light{--b-fg:var(--ink);--b-fg-h:var(--bg);--b-front:color-mix(in srgb, var(--surface) 40%, transparent);--b-border:color-mix(in srgb, var(--ink) 38%, transparent);--b-back:var(--btn-ink);--b-border-h:var(--btn-ink);--b-shadow:none;backdrop-filter:blur(10px)}.btn-label{align-items:center;gap:.6rem;display:inline-flex}@media (prefers-reduced-motion:reduce){.btn-flip,.btn:hover .btn-flip,.btn:focus-visible .btn-flip,.btn-label,.btn:hover .btn-label,.btn:focus-visible .btn-label{transform:none}.btn-flip:after{-webkit-backface-visibility:visible;backface-visibility:visible;opacity:0;transition:opacity .2s;transform:none}.btn:hover .btn-flip:after,.btn:focus-visible .btn-flip:after{opacity:1}}.nav{z-index:50;justify-content:center;display:flex;position:fixed;inset:0 0 auto}.nav-bar{width:100%;height:72px;padding:0 var(--gutter);color:var(--ink);transition:width .6s var(--ease), margin-top .6s var(--ease), height .6s var(--ease), padding .6s var(--ease), border-radius .6s var(--ease), background-color .5s ease, border-color .5s ease, box-shadow .6s var(--ease);background:0 0;border:1px solid #0000;border-radius:0;align-items:center;gap:clamp(.5rem,2vw,1.5rem);margin-top:0;display:flex}.nav.is-scrolled .nav-bar{border-color:var(--line);background:var(--glass);backdrop-filter:blur(16px)saturate(1.3);width:min(1320px,100% - 1.5rem);height:62px;box-shadow:var(--shadow);border-radius:999px;margin-top:12px;padding:0 .6rem 0 1.4rem}.nav-bar :focus-visible{outline-color:currentColor}.brand{color:var(--ink);align-items:center;margin-right:auto;text-decoration:none;display:inline-flex}.brand-logo{shape-rendering:geometricprecision;width:auto;height:1.5rem;display:block;overflow:visible}.nav-links{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:none}.nav-links a{opacity:.86;border-radius:999px;padding:.5rem .85rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .3s,background-color .3s;display:block}.nav-links a:hover{opacity:1;background:color-mix(in srgb, currentColor 10%, transparent)}.nav-tools{align-items:center;gap:.25rem;display:flex}.lang{background:color-mix(in srgb, currentColor 9%, transparent);border-radius:999px;padding:.2rem;display:flex}.lang a{letter-spacing:.04em;opacity:.75;border-radius:999px;padding:.4rem .6rem;font-size:.78rem;font-weight:500;text-decoration:none}.lang a[aria-current=true]{background:var(--ink);color:var(--bg);opacity:1}.icon-btn{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;transition:background-color .3s;display:grid}.icon-btn:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.nav-cta{margin-left:.25rem;font-size:.9rem;display:none}.nav-cta .btn-flip{min-height:2.5rem;padding:0 1.3rem}.menu-btn{display:grid}.nav-panel{top:calc(100% + .5rem);left:var(--gutter);right:var(--gutter);border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:.25rem;padding:1rem 1rem 1.5rem;display:none;position:absolute}.nav-panel[data-open=true]{display:flex}.nav-panel a:not(.btn){border-radius:12px;padding:.85rem .75rem;font-weight:500;text-decoration:none}.nav-panel a:not(.btn):hover{background:var(--surface-2)}.nav-panel .btn{--b-shadow:none;--b-shadow-h:none;align-self:flex-start;margin-top:1.1rem}.nav-panel .btn .btn-flip{min-height:2.75rem;padding:0 1.4rem}.nav-panel .btn .btn-label{font-size:.9rem}@media (width>=66rem){.nav-links,.nav-cta{display:flex}.menu-btn,.nav-panel{display:none!important}}.hero{min-height:calc(100svh + 3.25rem);padding:clamp(9rem, 19vh, 12rem) var(--gutter) clamp(2.5rem, 6vh, 4rem);color:#fff;isolation:isolate;grid-template-rows:1fr auto;justify-items:center;display:grid;position:relative}.hero-media{z-index:-1;background:#d9d3f2;border-radius:28px;position:absolute;inset:4.75rem .75rem .75rem;overflow:hidden}.hero-media video{object-fit:cover;filter:brightness(.8)saturate(.9)blur(3px);width:100%;height:100%;position:absolute;inset:0}.hero-media:after{content:"";pointer-events:none;background:radial-gradient(70% 60% at 50% 45%,#00000040,#0000 75%),linear-gradient(#0000004d,#0003 50%,#0006);position:absolute;inset:0}@media (width<=40rem){.hero{min-height:100svh;padding-top:clamp(6.5rem,18vh,8rem);padding-bottom:clamp(1.5rem,4vh,2.25rem)}}.hero-inner{text-align:center;flex-direction:column;align-self:center;align-items:center;gap:clamp(4.5rem,12vh,8rem);width:min(1100px,100%);display:flex}.hero-title{z-index:1;letter-spacing:-.04em;anchor-name:--hero-title;max-width:20ch;font-size:clamp(2rem,5.8vw,5.25rem);font-weight:700;line-height:1.03;position:relative}.hero-title-frost{z-index:0;pointer-events:none;top:calc(anchor(--hero-title top) - .55em);bottom:calc(anchor(--hero-title bottom) - .55em);left:calc(anchor(--hero-title left) - .85em);right:calc(anchor(--hero-title right) - .85em);backdrop-filter:blur(40px);background:#0000001f;font-size:clamp(2rem,5.8vw,5.25rem);position:absolute;-webkit-mask-image:radial-gradient(50% 55%,#000 0%,#000000eb 18%,#000000bf 34%,#00000085 50%,#0000004d 65%,#00000024 80%,#0000000a 92%,#0000 100%);mask-image:radial-gradient(50% 55%,#000 0%,#000000eb 18%,#000000bf 34%,#00000085 50%,#0000004d 65%,#00000024 80%,#0000000a 92%,#0000 100%)}.hero-word{vertical-align:top;margin:-.14em -.08em -.22em;padding:.14em .08em .22em;display:inline-block;overflow:hidden}.hero-word>span{animation:rise 1.2s var(--ease) both;animation-delay:calc(var(--i) * 75ms + .25s);display:inline-block}.hero :focus-visible{outline-color:#fff}.hero-scroll{backdrop-filter:blur(12px);color:#fff;width:3rem;height:3rem;animation:fade-up 1s var(--ease) 1.1s both;background:#151614d6;border:1px solid #151614e6;border-radius:999px;place-items:center;margin-top:2.5rem;display:grid;position:relative}.hero-scroll svg{animation:2.8s ease-in-out infinite nudge}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes rise{0%{transform:translateY(108%)}to{transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.statement{padding-block:clamp(5rem,13vw,11rem)}.statement-text{max-width:24em;font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.7rem,4.4vw,3.75rem);font-weight:600;line-height:1.16}.section{padding-block:clamp(3.5rem,7vw,6rem)}.contact-panel{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(20px)saturate(1.4);box-shadow:var(--shadow);border-radius:36px}.section-head{gap:1.5rem;margin-bottom:clamp(2.5rem,6vw,4.5rem);display:grid}.h2{letter-spacing:-.04em;max-width:16ch;font-size:clamp(2.4rem,6.2vw,5.25rem);line-height:1}.lede{max-width:56ch;color:var(--ink-2);font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:300}.svc-stage{margin-bottom:clamp(3.5rem,7vw,6rem);position:relative}.svc-grid{width:min(1180px, 100% - 2 * var(--gutter));align-items:start;gap:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,4rem);margin-inline:auto;display:grid}.svc-copy .h2{margin-bottom:1.5rem}.svc-nav{position:relative}.svc-nav ol{margin:0;padding:0;list-style:none}.svc-tab{width:100%;color:var(--muted);font-family:var(--font-display);letter-spacing:-.04em;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;font-size:clamp(1.6rem,3.5vw,3.1rem);font-weight:600;line-height:1.08;transition:color .4s;display:flex}.svc-tab:hover{color:var(--ink-2)}.svc-tab-icon{color:var(--muted);transition:rotate .4s var(--ease), color .4s ease;flex:none}.svc-nav li[data-active=true] .svc-tab{color:var(--ink)}.svc-nav li[data-active=true] .svc-tab-icon{color:var(--accent);rotate:180deg}.svc-tab:hover .svc-tab-icon{color:var(--accent);animation:svc-chevron-nudge .5s var(--ease)}@keyframes svc-chevron-nudge{0%,to{translate:0}50%{translate:0 4px}}@media (prefers-reduced-motion:reduce){.svc-tab:hover .svc-tab-icon{animation:none}}.svc-desc{transition:grid-template-rows .6s var(--ease);grid-template-rows:0fr;display:grid}.svc-desc>div{min-height:0;overflow:hidden}.svc-desc p{max-width:42ch;color:var(--ink-2);opacity:0;padding:.5rem 0 1.1rem .6rem;transition:opacity .5s .1s}.svc-nav li[data-active=true] .svc-desc{grid-template-rows:1fr}.svc-nav li[data-active=true] .svc-desc p{opacity:1}.svc-visual{aspect-ratio:1;background:var(--surface-2);border-radius:36px;justify-self:center;width:100%;max-width:420px;position:relative;overflow:hidden}.svc-visual canvas{display:block}.orb{background:radial-gradient(circle at 32% 28%, #fff 0, color-mix(in srgb, var(--accent) 22%, #fff) 46%, color-mix(in srgb, var(--accent) 70%, #000) 100%);box-shadow:0 40px 80px -30px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:50%;animation:8s ease-in-out infinite alternate float;position:absolute;inset:20%}@keyframes float{to{transform:translateY(-4%)scale(1.03)}}@media (width>=52rem){.svc-grid{grid-template-columns:1.2fr .8fr;grid-template-areas:"copy copy""nav visual"}.svc-copy{grid-area:copy}.svc-nav{grid-area:nav}.svc-visual{grid-area:visual}}@media (width<=51.99rem){.svc-copy{order:-2}.svc-copy .h2{margin-bottom:.75rem;font-size:2rem}.svc-visual{aspect-ratio:auto;border-radius:24px;order:-1;max-width:none;height:30svh}.svc-nav{order:0}.svc-copy .lede{display:none}}.projects{gap:clamp(5rem,11vw,8.5rem);display:grid}.project{text-align:center;flex-direction:column;align-items:center;display:flex}.project-frame{width:100%;max-width:56rem}.project-media{aspect-ratio:16/9;border-radius:var(--radius);background:color-mix(in srgb, var(--ink) 14%, var(--surface-2));overflow:hidden;box-shadow:0 0 0 1px #14140f0d,0 0 2px #14140f14,0 0 8px #14140f0f,0 2px 18px #14140f14,0 4px 36px #14140f17,0 8px 72px #14140f1c}:root[data-theme=dark] .project-media{position:relative;box-shadow:0 0 0 1px #ffffff0f,0 0 2px #0006,0 0 8px #0000004d,0 2px 18px #00000059,0 4px 36px #0006,0 8px 72px #00000073,0 34px 70px -24px #000000d9,0 18px 28px -14px #000000f2,0 0 80px -10px #ffffff12}:root[data-theme=dark] .project-media:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff0f,#0000 28%);position:absolute;inset:0;box-shadow:inset 0 1px #ffffff38,inset 0 0 0 1px #ffffff14}:root[data-theme=dark]{--elev-edge:inset 0 1px 0 #ffffff12;--elev:0 0 0 1px #ffffff09, 0 2px 4px #00000073, 0 14px 28px -10px #000000b3, 0 34px 70px -24px #000000d9}:root[data-theme=dark] .person{background:linear-gradient(180deg, color-mix(in srgb, var(--surface), #fff 3%), var(--surface) 70%);box-shadow:var(--elev-edge), var(--elev)}:root[data-theme=dark] .person:hover{box-shadow:inset 0 1px 0 #ffffff1a, var(--elev), 0 44px 90px -30px #000000e6}:root[data-theme=dark] .contact-panel{box-shadow:var(--elev-edge), var(--elev)}:root[data-theme=dark] .svc-visual{box-shadow:var(--elev)}:root[data-theme=dark] .svc-visual:after{content:"";border-radius:inherit;box-shadow:var(--elev-edge);pointer-events:none;position:absolute;inset:0}.project-copy{display:contents}.projects--split{--shot-h:min(calc(100svh - 11rem), 47.5rem);--phone-h:min(calc(100svh - 6rem), 59rem)}.projects--split .project{text-align:left;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,5vw,4.5rem);display:grid}.projects--split .project-frame{justify-content:center;max-width:none;display:flex}.projects--split .project-media{width:min(100%, calc(var(--shot-h) * 1850 / 1784));aspect-ratio:1850/1784}.projects--split .project-copy{min-width:0;display:block}.projects--split .project-head{margin-top:0}.projects--split .project-text{max-width:46ch}.project-media--phone{--phone-pad:10px;padding:var(--phone-pad);background:#050605;border-radius:46px}.projects--split .project-media--phone{width:min(100%, calc((var(--phone-h) - 2 * var(--phone-pad)) * 748 / 1388 + 2 * var(--phone-pad)));aspect-ratio:auto}.project-media--phone .project-video{aspect-ratio:748/1388;border-radius:36px;height:auto}@media (width<=55.99rem){.projects--split{--shot-h:100svh;--phone-h:min(calc(100svh - 7rem), 55rem)}.projects--split .project{text-align:center;grid-template-columns:minmax(0,1fr);gap:clamp(1.75rem,6vw,2.5rem)}.projects--split .project-text{margin-inline:auto}.projects--split .project-media--phone{max-width:94%}.project-media--phone{--phone-pad:8px;border-radius:38px}.project-media--phone .project-video{border-radius:30px}}.project-media img,.project-video{object-fit:cover;width:100%;height:100%;display:block}.project-head{margin-top:clamp(1.75rem,4vw,2.5rem)}.project-head h3{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2.25rem,5vw,3.25rem);font-weight:800;line-height:1}.project-tagline{color:var(--accent);margin-top:.6rem;font-size:1rem;font-weight:500}.project-metrics{grid-template-columns:repeat(3,minmax(0,11rem));justify-content:center;gap:clamp(.75rem,4vw,3rem);width:100%;margin-top:clamp(1.5rem,3.5vw,2.25rem);list-style:none;display:grid}.project-metrics li{flex-direction:column;align-items:center;gap:.4rem;display:flex}.project-metric-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:clamp(1.6rem,6.5vw,2.85rem);font-weight:800;line-height:1}.project-metric-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;line-height:1.4}.project-text{max-width:58ch;color:var(--ink-2);text-wrap:pretty;margin-top:clamp(1.5rem,3.5vw,2.25rem);font-size:1.02rem;font-weight:300;line-height:1.65}.tilt{transform-style:preserve-3d}.people{grid-auto-rows:1fr;gap:1.5rem;display:grid}.people>.reveal,.people .tilt{height:100%}.person{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:100%;transition:transform .6s var(--ease), box-shadow .6s var(--ease);flex-direction:column;gap:1.35rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.person:hover{box-shadow:var(--shadow)}.person header{align-items:center;gap:1rem;display:flex}.avatar{border:1px solid var(--accent);width:4rem;height:4rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);background:var(--surface-2);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:1.5rem;font-weight:700;display:grid}.avatar-photo{object-fit:cover;width:6.5rem;height:6.5rem}@media (width<=26rem){.avatar-photo{width:5rem;height:5rem}}.person h3{letter-spacing:-.025em;font-size:1.5rem;line-height:1.1}.role{color:var(--accent);font-size:.9rem;font-weight:500}.bio{color:var(--ink-2)}.spec{border-top:1px solid var(--line);flex-direction:column;gap:.4rem;margin-top:auto;padding-top:1.1rem;font-size:.8rem;display:flex}.spec span:first-child{color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.spec span:last-child{font-weight:500}@media (width>=52rem){.people{grid-template-columns:1fr 1fr}}.contact{padding-block:clamp(3.5rem,7vw,6rem)}.contact-panel{isolation:isolate;text-align:center;padding:clamp(3.5rem,8vw,7rem) clamp(1.5rem,5vw,4rem);position:relative;overflow:hidden}.contact-panel:before{content:"";z-index:-1;background:radial-gradient(45% 55% at 50% 58%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 72%);position:absolute;inset:0}.contact-copy{z-index:1;justify-items:center;gap:1.5rem;display:grid;position:relative}.contact-copy .h2,.contact-copy .lede{margin-inline:auto}.contact-copy .lede{max-width:46ch}.contact-actions{flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:.5rem;display:flex}.contact-knot{aspect-ratio:1;pointer-events:none;width:min(40%,420px);position:absolute;bottom:-22%;right:-9%;-webkit-mask-image:radial-gradient(closest-side,#000 60%,#0000 100%);mask-image:radial-gradient(closest-side,#000 60%,#0000 100%)}.contact-knot canvas{display:block}@media (width<=59.99rem){.contact-actions{margin-top:1.25rem}.contact-knot{width:min(42%,150px);margin:1.25rem auto -.5rem;position:relative;bottom:auto;right:auto}}.footer{padding:4rem 0 2.5rem}.footer-top,.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem 3rem;display:flex}.footer-top p{max-width:32ch;color:var(--ink-2);margin-top:.75rem}.footer-nav{flex-wrap:wrap;gap:.25rem 1.75rem;margin:0;padding:0;list-style:none;display:flex}.footer-nav a{color:var(--ink-2);padding-block:.4rem;text-decoration:none;display:inline-block}.footer-nav a:hover{color:var(--ink);text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding-top:1.5rem;font-size:.9rem}@media (pointer:coarse){.lang a{padding:.6rem .65rem}.footer-nav a{padding-block:.7rem}}.legal{padding-block:9rem 6rem}.legal .h2{margin-bottom:1.5rem}.legal-sections{gap:2.5rem;max-width:46rem;margin:2.5rem 0 3rem;display:grid}.legal-section{border-top:1px solid var(--line);padding-top:2rem}.legal-section h2{letter-spacing:-.02em;margin-bottom:.9rem;font-size:1.3rem}.legal-section p{color:var(--ink-2)}.legal-section p+p{margin-top:.9rem}.legal .btn{margin-top:1rem}.nf-bar{height:72px;padding:0 calc(var(--gutter) + 1px);align-items:center;display:flex;position:absolute;inset:0 0 auto}.not-found section:not(:lang(en)){display:none}:root:lang(es) .not-found section:lang(es){display:block}:root:lang(es) .not-found section:lang(en){display:none}.not-found .h2{margin-bottom:1.6rem}.not-found p{max-width:34rem;color:var(--ink-2)}.not-found .btn{margin-top:2.25rem}.theme-btn .ico-sun,.menu-btn .ico-x,:root[data-theme=dark] .theme-btn .ico-moon,.menu-btn[aria-expanded=true] .ico-menu{display:none}:root[data-theme=dark] .theme-btn .ico-sun,.menu-btn[aria-expanded=true] .ico-x{display:block}html.js .reveal{opacity:0}html.js .reveal[data-reveal=up]{translate:0 22px}html.js .reveal[data-reveal=left]{translate:-22px}html.js .reveal[data-reveal=right]{translate:22px}html.js .reveal.is-in{opacity:1;transition:opacity .4s cubic-bezier(.22, 1, .36, 1) var(--d,0s), translate .4s cubic-bezier(.22, 1, .36, 1) var(--d,0s);translate:0}.fx-title{--fx-dur:.22s;--fx-stagger:18ms}.fx-lede{--fx-dur:.35s;--fx-stagger:45ms}.fx-word{white-space:nowrap;display:inline-block}.fx{display:inline-block}.fx-gap{display:none}html.js [data-reveal] .fx{opacity:0;translate:0 .3em}html.js [data-reveal].is-in .fx{opacity:1;transition:opacity var(--fx-dur) cubic-bezier(.22, 1, .36, 1) calc(var(--fx-start,0s) + var(--i) * var(--fx-stagger)), translate var(--fx-dur) cubic-bezier(.22, 1, .36, 1) calc(var(--fx-start,0s) + var(--i) * var(--fx-stagger));translate:0}html.js .project-frame{opacity:0;translate:0 40px;scale:.95}html.js .project-frame.is-in{opacity:1;transition:opacity .8s var(--ease), translate .8s var(--ease), scale .8s var(--ease);translate:0;scale:1}html.js .project-head,html.js .project-metrics li,html.js .project-text{opacity:0;translate:0 24px}html.js .project-head.is-in{opacity:1;transition:opacity .6s var(--ease), translate .6s var(--ease);translate:0}html.js .project-head.is-in~.project-metrics li{opacity:1;transition:opacity .4s var(--ease) var(--d,0s), translate .4s var(--ease) var(--d,0s);translate:0}html.js .project-head.is-in~.project-text{opacity:1;transition:opacity .5s var(--ease) var(--text-at,0s), translate .5s var(--ease) var(--text-at,0s);translate:0}@supports (animation-timeline:view()){.hero{view-timeline:--hero block}.hero-inner{animation:linear both hero-leave}.hero>.hero-inner{animation-timeline:--hero;animation-range:exit-crossing}.statement-text{view-timeline:--statement block;view-timeline-inset:45% 15%}.statement-text>span{animation:linear both word-glow}p.statement-text>span{animation-timeline:--statement;animation-range:cover calc(var(--i) / var(--n) * 100%) cover calc((var(--i) + 1) / var(--n) * 100%)}}@keyframes hero-leave{0%{opacity:1;translate:0}60%{opacity:0}to{opacity:0;translate:0 -60px}}@keyframes word-glow{0%{opacity:.2}to{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html.js .reveal,html.js [data-reveal] .fx,html.js .project-frame,html.js .project-head,html.js .project-metrics li,html.js .project-text{opacity:1!important;transition:none!important;translate:none!important;scale:none!important}.hero-inner,.statement-text>span{animation:none}.fx,.fx-word{white-space:normal;display:inline}.fx-sp{display:none}.fx-gap{display:inline}}
