@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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) 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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) 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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--bg: #0b0907;--bg-2: #120e0a;--fg: #f3ebdc;--mid: #b8a88c;--dim: #857761;--gold: #c9a46a;--leaf: #8fa25a;--card: rgba(243, 235, 220, .03);--line: rgba(243, 235, 220, .08);--line-2: rgba(243, 235, 220, .16);--display: "Unbounded Variable", "Unbounded", system-ui, sans-serif;--body: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--gut: clamp(20px, 5vw, 56px);--nav-h: 64px}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--mid);font-family:var(--body);font-size:16px;line-height:1.65;overflow-x:clip;-webkit-font-smoothing:antialiased}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p,ul,ol,blockquote{margin:0;padding:0}ul,ol{list-style:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono);letter-spacing:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tiny{font-size:11px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}::selection{background:#c9a46a59;color:var(--fg)}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 78% 8%,rgba(201,164,106,.11),transparent 70%),radial-gradient(50% 45% at 8% 55%,rgba(143,162,90,.05),transparent 70%),radial-gradient(55% 40% at 80% 100%,rgba(201,164,106,.07),transparent 70%),var(--bg)}.bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .92 0 0 0 0 .8 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--gut)}.wrap.narrow{max-width:860px}.rv{opacity:0;filter:blur(8px);transform:translateY(16px)}.rv.in{opacity:1;filter:none;transform:none;transition:opacity .6s ease var(--d, 0s),filter .6s ease var(--d, 0s),transform .6s cubic-bezier(.2,.7,.2,1) var(--d, 0s)}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#080604;display:grid;place-items:center;cursor:pointer;transition:opacity .55s ease,filter .55s ease}.welcome.out{opacity:0;filter:blur(14px);pointer-events:none}.welcome-inner{text-align:center;padding:0 20px;animation:wIn .7s ease both}.glyphs{display:flex;justify-content:center;gap:22px;color:var(--mid);margin-bottom:22px}.welcome h1,.welcome .w-title{font-family:var(--display);font-weight:700;font-size:clamp(1.15rem,4.5vw,1.8rem);color:var(--fg);letter-spacing:-.02em;line-height:1.25;margin:0 0 12px}.welcome p{font-size:12px;color:var(--dim)}@keyframes wIn{0%{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav-h);background:linear-gradient(#0b0907cc,#0b090700);pointer-events:none}.nav a,.nav button{pointer-events:auto}.nav-in{max-width:1320px;height:100%;margin:0 auto;padding:0 var(--gut);display:flex;align-items:center;justify-content:space-between}.brand{font-size:14px;color:var(--fg)}.links{display:flex;gap:28px}.links a{font-family:var(--mono);font-size:13px;color:var(--dim);transition:color .2s;padding:6px 0}.links a:hover{color:var(--mid)}.links a.on{color:var(--fg)}.nav-toggle{display:none;font-size:13px;color:var(--fg);padding:8px 12px;border:1px solid var(--line-2);border-radius:999px}.section{padding:clamp(72px,11vw,140px) 0;scroll-margin-top:20px}.h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.8rem,4.6vw,3rem);color:var(--fg);margin-bottom:28px}.h2.center{text-align:center;margin-bottom:14px}.lead{font-size:16px;color:var(--mid);max-width:56ch}.lead.big{font-size:clamp(16px,1.6vw,18px);max-width:60ch}.lead.center{text-align:center;margin-inline:auto}.sub-lead{margin-bottom:36px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px}.pad{padding:20px}.pad-lg{padding:clamp(24px,3.5vw,40px)}.hero{padding:0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;align-items:start;min-height:100svh}.hero-copy{align-self:center;padding:calc(var(--nav-h) + 24px) 0 40px}.eyebrow{font-size:13px;color:var(--mid);margin-bottom:22px;display:inline-block;padding:6px 12px;border:1px solid var(--line-2);border-radius:999px}.hero-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.08;font-size:clamp(2.1rem,5.4vw,4.6rem);margin-bottom:26px}.hero-title span{display:block;white-space:nowrap}.hero-title .l1{color:var(--fg)}.hero-title .l2{color:var(--gold);background:linear-gradient(100deg,#d9b97f,#8a7556 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero .lead{margin-bottom:30px}.btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;border-radius:12px;font-size:14px;font-weight:600;transition:transform .2s,background .2s,border-color .2s}.btn.sm{height:40px;padding:0 18px}.btn-solid{background:var(--fg);color:#140f09}.btn-solid:hover{background:#fff8ea;transform:translateY(-1px)}.btn-line{border:1px solid var(--line-2);color:var(--fg)}.btn-line:hover{border-color:#c9a46a8c;background:#c9a46a0f}.socials{display:flex;gap:10px;align-items:center}.socials a,.icon-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--mid);background:var(--card);transition:color .2s,border-color .2s}.socials a:hover,.icon-btn:hover{color:var(--gold);border-color:#c9a46a66}.icon-btn{width:auto;min-width:44px;padding:0 10px}.hero-card{position:relative;height:100svh;min-height:600px}.lanyard-slot{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .6s}.lanyard-slot.ready{opacity:1}.lanyard-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0;touch-action:pan-y}.static-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.sc-strap{width:34px;height:90px;background:#1a140e;border:1px solid rgba(201,164,106,.4);border-bottom:0;background-image:repeating-linear-gradient(0deg,transparent 0 14px,rgba(230,217,192,.14) 14px 16px)}.sc-card{position:relative;overflow:hidden;width:min(260px,70%);aspect-ratio:1.6 / 2.25;border-radius:22px;padding:22px;display:flex;flex-direction:column;background:#0d0a07;border:1px solid rgba(201,164,106,.35);box-shadow:0 30px 60px #0009;transform:rotate(-3deg)}.sc-art{position:absolute;inset:0 0 auto;width:100%;height:71%;object-fit:cover;object-position:50% 60%;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}.sc-card>:not(.sc-art){position:relative}.sc-top{display:flex;justify-content:space-between;font-size:11px;color:var(--mid);margin-bottom:auto}.sc-name{font-family:var(--display);font-weight:700;font-size:clamp(30px,5vw,42px);color:var(--fg);letter-spacing:-.02em}.sc-role{font-family:var(--display);font-weight:600;font-size:13px;color:var(--gold);margin:6px 0 14px}.sc-foot{font-size:11px;color:var(--dim)}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,72px);align-items:start}.quote{margin-top:28px;padding:20px 22px 20px 52px;position:relative;color:var(--fg);font-size:16px;font-style:italic;max-width:56ch}.qmark{position:absolute;left:18px;top:4px;font-family:var(--display);font-size:40px;color:var(--dim);font-style:normal;color:var(--gold)}.stats{display:grid;gap:14px}.stat{padding:22px 24px;display:flex;flex-direction:column;gap:4px}.stat-v{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--fg);letter-spacing:-.02em;line-height:1.2;white-space:nowrap}.stat-l{font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.timeline{position:relative;display:grid;gap:22px;padding-left:28px}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--line-2),var(--line))}.tl-item{position:relative}.tl-dot{position:absolute;left:-28px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--gold)}.tl-when{display:block;font-size:13px;color:var(--mid);margin-bottom:8px}.tl-card{padding:18px 22px}.tl-card h3{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--fg);letter-spacing:-.01em;margin-bottom:4px}.tl-card p{font-size:15px}.tabs{display:flex;width:fit-content;margin:0 auto 36px;padding:5px;gap:4px;border:1px solid var(--line);border-radius:999px;background:var(--card)}.tabs button{padding:9px 22px;border-radius:999px;font-size:14px;color:var(--mid);transition:background .2s,color .2s}.tabs button:hover{color:var(--fg)}.tabs button.on{background:#c9a46a29;color:var(--fg)}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),420px));justify-content:center;gap:20px}.project{overflow:hidden;display:flex;flex-direction:column}.p-img{aspect-ratio:16 / 10;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg-2)}.p-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project:hover .p-img img{transform:scale(1.03)}.p-body{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:1}.p-body h3{font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--fg);letter-spacing:-.01em}.p-body p{font-size:15px}.p-body .btn{margin-top:auto}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--mid);padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffff05}.tech-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:980px;margin:0 auto}.tech-grid>*{width:148px}.tech-grid .tile{height:100%}.tile{display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 12px 20px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--dim);transition:color .25s,border-color .25s,transform .25s,background .25s}.tile:hover{color:var(--c);border-color:var(--line-2);background:#ffffff0d;transform:translateY(-3px)}.tile-ico{display:grid;place-items:center;height:34px}.tile-name{font-family:var(--mono);font-size:12px;color:var(--mid)}.mono-sq{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;border:1.5px solid currentColor;font-family:var(--mono);font-weight:600;font-size:12px;letter-spacing:-.04em}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#000000c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:clamp(12px,4vw,48px);overflow-y:auto;overscroll-behavior:contain;animation:mIn .3s ease both}.modal{position:relative;width:100%;max-width:860px;margin:auto;background:var(--bg-2);border:1px solid var(--line-2);border-radius:20px;overflow:hidden;animation:mUp .35s cubic-bezier(.2,.7,.2,1) both}.modal-x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#000000b3;border:1px solid var(--line-2);color:var(--fg)}.modal-x:hover{background:#1d1711}.modal-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-bottom:1px solid var(--line)}.modal-body{padding:clamp(20px,3.5vw,36px);display:grid;gap:18px}.modal-title{font-family:var(--display);font-weight:700;font-size:clamp(1.4rem,3vw,2rem);color:var(--fg);letter-spacing:-.02em}.modal-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sub{font-size:12px;font-weight:500;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.check li{position:relative;padding-left:22px;font-size:15px;color:var(--mid);margin-bottom:8px}.check li:before{content:"";position:absolute;left:2px;top:.5em;width:9px;height:5px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}@keyframes mIn{0%{opacity:0}to{opacity:1}}@keyframes mUp{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px}.contact-intro .h2{margin-bottom:18px}.link-rows{display:grid;gap:10px}.row{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffff05;text-align:left;transition:border-color .2s,background .2s}.row:hover{border-color:var(--line-2);background:#ffffff0d}.row-ico{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#ffffff0d;color:var(--fg);flex:none}.row-txt{display:flex;flex-direction:column;min-width:0;flex:1}.row-l{font-size:11px;color:var(--dim);letter-spacing:.04em}.row-h{color:var(--fg);font-size:15px;overflow:hidden;text-overflow:ellipsis}.row-hint{font-size:12px;color:var(--dim)}.footer{border-top:1px solid var(--line);padding:28px 0 36px}.footer p{font-size:12px;color:var(--dim);text-align:center}@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}.hero-copy{padding-bottom:0}.hero-card{height:470px;min-height:0;margin:0 auto;width:100%}.lanyard-slot{-webkit-mask-image:linear-gradient(transparent,#000 14%);mask-image:linear-gradient(transparent,#000 14%)}.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:16px 14px}.stat-v{font-size:clamp(1rem,4.4vw,1.5rem)}}@media(max-width:640px){:root{--nav-h: 58px}.nav-toggle{display:inline-block}.links{position:absolute;top:var(--nav-h);left:var(--gut);right:var(--gut);flex-direction:column;gap:0;padding:8px 18px;background:#120e0afa;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-2);border-radius:16px;display:none}.links.open{display:flex}.links a{padding:14px 0;font-size:15px;border-bottom:1px solid var(--line)}.links a:last-child{border-bottom:0}.stats{grid-template-columns:minmax(0,1fr)}.stat{flex-direction:row;align-items:baseline;justify-content:space-between;padding:16px 20px}.stat-v{font-size:1.4rem}.modal-cols{grid-template-columns:1fr}.hero-card{height:440px}.tech-grid{gap:10px}.tech-grid>*{width:calc(50% - 5px)}.row-hint{display:none}}@media(prefers-reduced-motion:reduce){.rv{filter:blur(4px);transform:translateY(8px)}.rv.in{transition-duration:.35s,.35s,.35s}.project:hover .p-img img{transform:none}}
