@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-vietnamese-wdth-normal.1chd077tiu-qs.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-latin-ext-wdth-normal.1w-ual84inuz5.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-latin-wdth-normal.3b1_7etm2gpf5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-ext-400-normal.3llip5gdtq6ee.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-400-normal.37cpwuas_4tpy.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-400-normal.123gmka-u-660.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-400-normal.2qqi-jaq060ud.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-greek-400-normal.11tra_3r8gne-.woff2)format("woff2"),url(../media/jetbrains-mono-greek-400-normal.18cfsy-6ft9zs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-vietnamese-400-normal.0l8l0wb2sbqrm.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-400-normal.0c64nmg3blt24.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-ext-400-normal.2osyrgmzpqw_0.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-400-normal.3vtl6hswl5p-t.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.37baup9wa8gsy.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.27_azdahucoj5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-cyrillic-ext-500-normal.0o2ixt_i88f99.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-500-normal.0skx51gfgqnxk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-cyrillic-500-normal.249fhc8wr7nbt.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-500-normal.14rir2jm30fz0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-greek-500-normal.3no6xpizs9fmj.woff2)format("woff2"),url(../media/jetbrains-mono-greek-500-normal.3kuhrkkazcg55.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-vietnamese-500-normal.1vk0uli091fzc.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-500-normal.0w-543ihzmj4y.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-latin-ext-500-normal.3574s2_-3b86t.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-500-normal.376ylftguvq8n.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-latin-500-normal.37tbwx4qeyuup.woff2)format("woff2"),url(../media/jetbrains-mono-latin-500-normal.0nitm9n_z3qum.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{--void:#0b0c0f;--void-2:#13141a;--ink:#f2f0eb;--mute:#8d8f98;--line:#f2f0eb21;--coral:#ff5a4e;--pink:#f58fd0;--sky:#4ec6ff;--ok:#5be38a;--grad:linear-gradient(100deg, var(--coral), var(--pink) 50%, var(--sky));--f-display:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--gutter:clamp(16px, 3.4vw, 48px);--ease:cubic-bezier(.2, .7, .1, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--void)}body{background:var(--void);color:var(--ink);font-family:var(--f-display);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}::selection{background:var(--coral);color:var(--void)}a{color:inherit}:focus-visible{outline:2px solid var(--sky);outline-offset:3px;border-radius:2px}.wrap{padding-inline:var(--gutter)}.mono{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;line-height:1.5}.mute{color:var(--mute)}.grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grain{pointer-events:none;z-index:60;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:1.2s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.nav{top:env(safe-area-inset-top,0px);z-index:50;-webkit-backdrop-filter:blur(14px)saturate(1.3);background:color-mix(in srgb, var(--void) 70%, transparent);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding-block:14px;display:flex;position:sticky}.brand{color:var(--ink);flex:none;align-items:center;text-decoration:none;display:flex}.brand svg{width:auto;height:20px;display:block}.nav ul{gap:28px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.nav ul a{color:var(--mute);text-decoration:none;transition:color .25s}.nav ul a:hover{color:var(--ink)}.lang{font-family:var(--f-mono);letter-spacing:.08em;border:1px solid var(--line);color:var(--mute);cursor:pointer;background:0 0;border-radius:99px;flex:none;padding:7px 12px;font-size:.68rem;text-decoration:none;transition:color .25s,border-color .25s}.lang:hover{color:var(--ink);border-color:var(--ink)}.hero{isolation:isolate;padding-block:clamp(28px,5vw,64px) clamp(36px,5vw,72px);position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(40% 38% at 62% 40%, color-mix(in srgb, var(--coral) 22%, transparent), transparent 70%), radial-gradient(34% 40% at 35% 60%, color-mix(in srgb, var(--sky) 16%, transparent), transparent 70%);filter:blur(30px);height:120%;animation:drift 18s var(--ease) infinite alternate;position:absolute;inset:-20% -10% auto}@keyframes drift{to{transform:translate(-4%,3%)scale(1.08)}}.hero-top,.hero-bottom{z-index:3;justify-content:space-between;gap:24px;display:flex;position:relative}.hero-top p,.hero-bottom p{margin:0}.hero-top .r{text-align:right}.stars{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.aura{aspect-ratio:1.7;pointer-events:none;z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--pink) 24%, transparent), color-mix(in srgb, var(--sky) 9%, transparent) 55%, transparent);filter:blur(36px);will-change:transform;border-radius:50%;width:min(70vw,1000px);position:absolute;top:0;left:0;transform:translate(50vw,280px)translate(-50%,-50%)}.word{z-index:1;margin:clamp(40px,7vw,110px) 0 clamp(36px,6vw,96px);position:relative}.word svg{width:100%;height:auto;color:var(--ink);display:block;overflow:visible}.tubes{stroke-dasharray:1;animation:1.9s cubic-bezier(.6,.1,.2,1) .15s backwards draw}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.neon-slash{animation:1.1s step-end 1.55s backwards ignite}@keyframes ignite{0%{opacity:0}8%{opacity:1}16%{opacity:.12}28%{opacity:1}40%{opacity:.35}52%,to{opacity:1}}.hero-bottom{justify-content:flex-end;align-items:center}.btn{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--void);transition:transform .35s var(--ease);cursor:pointer;border:0;border-radius:99px;align-items:center;gap:12px;padding:16px 22px;font-size:.78rem;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:var(--grad);transition:transform .45s var(--ease);position:absolute;inset:0;transform:translateY(101%)}.btn span,.btn svg{position:relative}.btn:hover:before{transform:none}.btn:hover{transform:translateY(-2px)}.btn svg{width:14px;height:14px;transition:transform .35s var(--ease)}.btn:hover svg{transform:translate(4px)}.btn[disabled]{opacity:.6;cursor:progress}.marquee{border-block:1px solid var(--line);white-space:nowrap;padding-block:18px;overflow:hidden}.marquee-track{animation:40s linear infinite marq;display:inline-flex}.marquee span{letter-spacing:-.01em;padding-inline:.6em;font-size:clamp(1.4rem,2.6vw,2.4rem);font-weight:300;font-stretch:118%}.marquee i{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:700}@keyframes marq{to{transform:translate(-50%)}}section{scroll-margin-top:70px}.sec{padding-block:clamp(64px,8vw,120px)}.split{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:24px;display:grid}.sec-head{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:clamp(40px,6vw,84px)}.sec-head p{margin:0}.sec-head h2{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,5.6vw,5.4rem);font-weight:600;font-stretch:112%;line-height:.95}.studio .label{margin:0 0 clamp(20px,3vw,36px)}.studio-main{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:24px clamp(32px,6vw,96px);display:grid}.statement{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2rem,4.8vw,4.6rem);font-weight:450;font-stretch:106%;line-height:1.02}.studio-body{max-width:48ch;color:var(--mute);margin:0;font-size:1.08rem}.pillars{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px clamp(20px,3vw,48px);margin:clamp(48px,7vw,104px) 0 0;padding:0;list-style:none;display:grid}.pillars li{border-top:1px solid var(--line);min-width:0;padding-top:26px}.pillars li:first-child{--c:var(--coral)}.pillars li:nth-child(2){--c:var(--pink)}.pillars li:nth-child(3){--c:#b7a2ff}.pillars li:nth-child(4){--c:var(--sky)}.pillars h3{letter-spacing:-.02em;margin:18px 0 10px;font-size:clamp(1.25rem,1.6vw,1.55rem);font-weight:600;font-stretch:110%;line-height:1.05}.pillars p{color:var(--mute);max-width:32ch;margin:0}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);display:grid}.card{border:1px solid var(--line);background:linear-gradient(180deg, var(--void-2), var(--void));min-width:0;transition:border-color .4s, transform .5s var(--ease);border-radius:20px;flex-direction:column;gap:18px;padding:26px 24px 30px;display:flex;position:relative;overflow:hidden}.card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(closest-side, color-mix(in srgb, var(--c) 30%, transparent), transparent);height:80%;transition:opacity .5s;position:absolute;inset:auto -30% -60%}.card:hover{border-color:color-mix(in srgb, var(--c) 55%, transparent);transform:translateY(-4px)}.card:hover:after{opacity:1}.card:first-child{--c:var(--coral)}.card:nth-child(2){--c:var(--pink)}.card:nth-child(3){--c:#b7a2ff}.card:nth-child(4){--c:var(--sky)}.idx{font-family:var(--f-mono);text-shadow:0 0 3px color-mix(in srgb, var(--c) 90%, transparent), 0 0 16px color-mix(in srgb, var(--c) 75%, transparent), 0 0 34px color-mix(in srgb, var(--c) 40%, transparent);font-size:1.3rem;font-weight:500;line-height:1}.card h3{letter-spacing:-.02em;margin:18px 0 0;font-size:clamp(1.35rem,1.7vw,1.7rem);font-weight:650;font-stretch:108%;line-height:1.05}.card p{color:var(--mute);margin:0}.card .stack{margin-top:auto;padding-top:10px;font-size:.66rem}.work{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,72px) clamp(20px,3vw,48px);display:grid}.project{flex-direction:column;gap:14px;min-width:0;display:flex}.project:first-child{--c:var(--coral)}.project:nth-child(2){--c:var(--sky)}.shot{aspect-ratio:16/10;border:1px solid var(--line);background:var(--void-2);transition:border-color .4s, box-shadow .5s, transform .5s var(--ease);border-radius:20px;margin-bottom:12px;display:block;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);display:block}.project:hover .shot{border-color:color-mix(in srgb, var(--c) 55%, transparent);box-shadow:0 24px 80px -30px color-mix(in srgb, var(--c) 45%, transparent);transform:translateY(-4px)}.project:hover .shot img{transform:scale(1.03)}.project-head{align-items:center;gap:16px;display:flex}.project h3{letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:650;font-stretch:108%;line-height:1}.project h3 a{text-decoration:none}.project h3 a:after{content:" ↗";color:var(--mute);vertical-align:.25em;font-size:.6em;transition:color .25s}.project h3 a:hover:after{color:var(--ink)}.project p{color:var(--mute);max-width:58ch;margin:0}.project .stack{font-size:.66rem}.contact{isolation:isolate;position:relative;overflow-x:clip}.contact h2{letter-spacing:-.04em;text-wrap:balance;margin:0 0 clamp(36px,5vw,64px);font-size:clamp(2.8rem,9vw,9rem);font-weight:760;font-stretch:92%;line-height:.9;position:relative}.contact h2:before{content:"";aspect-ratio:2.2;background:radial-gradient(closest-side, color-mix(in srgb, var(--coral) 20%, transparent), color-mix(in srgb, var(--sky) 10%, transparent) 60%, transparent);filter:blur(34px);z-index:-1;border-radius:50%;width:min(95%,980px);animation:11s ease-in-out infinite alternate float;position:absolute;top:56%;left:42%;transform:translate(-50%,-50%)}@keyframes float{to{transform:translate(-40%,-60%)scale(1.1)}}.contact-grid{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);padding-top:32px;display:grid}.details{flex-direction:column;gap:26px;min-width:0;display:flex}.details>div{flex-direction:column;gap:8px;min-width:0;display:flex}.email-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.email{overflow-wrap:anywhere;font-size:clamp(1.15rem,1.8vw,1.6rem);font-weight:500;text-decoration:none}.email:hover{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.val{font-size:1.1rem;text-decoration:none}.copy{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:99px;padding:7px 12px;font-size:.66rem;transition:background .25s,color .25s}.copy:hover{background:var(--ink);color:var(--void)}.links{flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none;display:flex}.links a{text-decoration:none}.links a:after{content:" ↗";color:var(--mute)}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;min-width:0;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field.full{grid-column:1/-1}.field label{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-size:.7rem}.field input,.field textarea{font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;width:100%;padding:8px 0 10px;font-size:1.05rem;transition:border-color .3s}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field textarea:focus{border-bottom-color:var(--pink);box-shadow:0 1px 0 0 var(--pink);outline:none}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-foot{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:20px;display:flex}.form-msg{margin:0;font-size:.95rem}.form-msg.ok{color:var(--ok)}.form-msg.err{color:#ff8a80}footer{padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;display:flex}footer svg{width:auto;height:16px;color:var(--ink);display:block}footer .meta{flex-wrap:wrap;gap:24px;display:flex}footer a{text-decoration:none}footer a:hover{color:var(--ink)}.legal{max-width:760px;padding-block:clamp(48px,7vw,100px)}.legal h1{letter-spacing:-.03em;margin:16px 0 40px;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;font-stretch:112%}.legal h2{margin:36px 0 10px;font-size:1.15rem;font-weight:600}.legal p{color:var(--mute);margin:0 0 6px}.legal p strong{color:var(--ink);font-weight:500}@supports (animation-timeline:view()){.reveal{animation:linear both up;animation-timeline:view();animation-range:entry entry 55%}@keyframes up{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}}@media (max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.studio-main{grid-template-columns:minmax(0,1fr)}.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.work{grid-template-columns:minmax(0,1fr)}.word{margin:72px 0 64px}.nav ul{display:none}.lang{margin-left:auto}.split{grid-template-columns:minmax(0,1fr)}.hero-bottom{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.cards,.pillars,.form{grid-template-columns:minmax(0,1fr)}.hero-top{font-size:.62rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
