@font-face{font-family:Geist;font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/Geist-Light.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Geist-Regular.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Geist-Medium.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Geist-SemiBold.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Geist-Bold.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/GeistMono-Regular.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/GeistMono-Medium.woff2) format("woff2")}@font-face{font-family:Be Vietnam Pro;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-Regular.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-Medium.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-SemiBold.ttf) format("truetype")}:root{--ink:#000;--graphite:#1a1a1a;--steel:#3d3d3d;--concrete:#8a8a86;--bone:#f0efea;--paper:#fafaf7;--pure:#fff;--signal:#06f;--opacity-namespace:0.5;--opacity-syntax:0.3;--opacity-focal:1.0;--fg-1:var(--ink);--fg-2:var(--steel);--fg-3:var(--concrete);--fg-inv:var(--paper);--bg-page:var(--paper);--bg-card:var(--pure);--bg-warm:var(--bone);--bg-dark:var(--ink);--bg-dark-2:var(--graphite);--accent:var(--signal);--bg-hospitality:var(--bone);--rule:rgba(0,0,0,.1);--rule-strong:rgba(0,0,0,.22);--font-sans:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font-vn:"Be Vietnam Pro","Geist",-apple-system,sans-serif;--shadow-modal:0 24px 48px -12px rgba(0,0,0,.18),0 0 0 0.5px rgba(0,0,0,.1)}[data-theme=dark]{color-scheme:dark;--fg-1:var(--paper);--fg-2:var(--concrete);--fg-3:var(--steel);--fg-inv:var(--ink);--bg-page:var(--ink);--bg-card:var(--graphite);--bg-warm:var(--graphite);--bg-hospitality:var(--ink);--rule:hsla(0,0%,100%,.1);--rule-strong:hsla(0,0%,100%,.22)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg-page);color:var(--fg-1);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}.vn,[lang=vi] body{font-family:var(--font-vn);line-height:1.65}::selection{background:var(--signal);color:var(--paper)}button{font-family:inherit}.tenor-scroll-spacer{position:relative;width:100%;pointer-events:none}.tenor-stage{position:fixed;inset:0;width:100vw;height:100vh;overflow:hidden;z-index:1;background:var(--bg-page);perspective:1400px;perspective-origin:50% 50%;transition:background .6s cubic-bezier(.2,0,0,1)}.tenor-stage--dark{background:var(--ink);color:var(--paper)}.tenor-camera{width:100%;height:100%;will-change:transform}.tenor-camera,.tenor-scene{position:absolute;top:0;left:0;transform-style:preserve-3d}.tenor-scene{width:100vw;height:100vh;will-change:transform,opacity}.tenor-header{position:fixed;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;z-index:20;background:hsla(60,23%,97%,.72);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:.5px solid var(--rule);transition:background .3s ease,border-color .3s ease,color .3s ease}[data-theme=dark] .tenor-header{background:rgba(0,0,0,.55);border-bottom-color:hsla(0,0%,100%,.08);color:var(--paper)}.tenor-header__nav{display:flex;align-items:baseline;gap:28px}.tenor-header__cta{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:var(--ink);color:var(--paper);border:none;border-radius:4px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:background .12s ease}[data-theme=dark] .tenor-header__cta{background:var(--paper);color:var(--ink)}.tenor-header__cta:hover{background:var(--graphite)}[data-theme=dark] .tenor-header__cta:hover{background:#e5e5e0}.path-link{font-family:var(--font-mono);font-size:12px;letter-spacing:0;color:var(--fg-1);cursor:pointer;display:inline-flex;align-items:baseline;background:none;border:none;padding:0;transition:opacity .12s ease}.path-link .ns{opacity:.5}.path-link .sl{opacity:.3}.path-link .focal{opacity:.6;transition:opacity .12s ease,color .12s ease}.path-link:hover .focal{opacity:1;color:var(--signal)}.path-link.is-active .focal{opacity:1}.lockup-mark{font-family:var(--font-sans);font-weight:500;letter-spacing:-.04em;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;white-space:nowrap;background:none;border:none;padding:0;color:inherit}.lockup-mark .ns{opacity:.5}.lockup-mark .sl{opacity:.3}.tenor-rail{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.tenor-rail__row{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--fg-3);cursor:pointer;background:none;border:none;padding:0;transition:color .2s ease,opacity .2s ease;opacity:.55}.tenor-rail__row.is-active,.tenor-rail__row:hover{opacity:1;color:var(--fg-1)}[data-theme=dark] .tenor-rail__row{color:hsla(0,0%,100%,.55)}[data-theme=dark] .tenor-rail__row.is-active{color:var(--paper)}.tenor-rail__row .label{min-width:110px;text-align:right}.tenor-rail__row .tick{width:24px;height:.5px;background:currentColor;transition:width .2s ease}.tenor-rail__row.is-active .tick{width:56px;background:var(--signal)}.tenor-cue{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);z-index:15;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--fg-3);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;opacity:.7;animation:tenorCue 2.4s ease-in-out infinite}.tenor-cue__line{width:.5px;height:32px;background:linear-gradient(180deg,transparent,currentColor)}@keyframes tenorCue{0%,to{transform:translateX(-50%) translateY(0);opacity:.5}50%{transform:translateX(-50%) translateY(6px);opacity:1}}[data-theme=dark] .tenor-cue{color:hsla(0,0%,100%,.55)}.tenor-meta{position:fixed;left:24px;bottom:24px;z-index:15;display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--fg-3);pointer-events:none;max-width:320px}.hero-claim{font-family:var(--font-sans);font-weight:500;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}.hero-claim__line{display:block;padding-bottom:.04em}.blueprint-grid{position:absolute;inset:-50%;background-image:linear-gradient(rgba(0,102,255,.18) .5px,transparent 0),linear-gradient(90deg,rgba(0,102,255,.18) .5px,transparent 0),linear-gradient(rgba(0,102,255,.06) .5px,transparent 0),linear-gradient(90deg,rgba(0,102,255,.06) .5px,transparent 0);background-size:240px 240px,240px 240px,24px 24px,24px 24px}.tower-floor{position:absolute;background:var(--bg-card);border:.5px solid var(--rule-strong);box-shadow:0 1px 0 rgba(0,0,0,.04);transform-origin:50% 50%;transform-style:preserve-3d}[data-theme=dark] .tower-floor{background:var(--graphite);border-color:hsla(0,0%,100%,.16)}.tower-floor__label{position:absolute;left:12px;bottom:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:var(--fg-3)}.project-tile{background:var(--bg-card);border:.5px solid var(--rule);overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-sans)}[data-theme=dark] .project-tile{background:var(--graphite);border-color:hsla(0,0%,100%,.1)}.tile-photo{flex:1 1;position:relative;background:var(--bone);overflow:hidden;min-height:180px}[data-theme=dark] .tile-photo{background:#0e0e0e}.tile-photo svg{width:100%;height:100%;display:block}.tile-meta{padding:12px 14px;border-top:.5px solid var(--rule);display:flex;flex-direction:column;gap:4px}.tile-meta__name{font-size:13px;font-weight:500;letter-spacing:-.01em}.tile-meta__row{font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:var(--fg-3);display:flex;gap:8px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px;width:100%;max-width:980px}.stat-cell{display:flex;flex-direction:column;gap:6px}.stat-cell__num{font-family:var(--font-sans);font-weight:500;font-size:clamp(40px,5vw,72px);letter-spacing:-.03em;line-height:1}.stat-cell__lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--fg-3)}.os-card{background:var(--ink);color:var(--paper);border-radius:8px;padding:48px;display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden}.os-card__terminal{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:hsla(0,0%,100%,.7)}.os-card__terminal .prompt{color:var(--signal)}.os-card__cta{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:var(--paper);color:var(--ink);border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:background .12s ease}.os-card__cta:hover{background:#e5e5e0}.tenor-modal-scrim{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tenor-modal{width:min(560px,90vw);background:var(--bg-card);border-radius:12px;padding:40px;box-shadow:var(--shadow-modal);position:relative}.tenor-modal__close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:18px;color:var(--fg-3)}.tenor-input{font-family:var(--font-sans);font-size:14px;padding:10px 12px;background:transparent;border:.5px solid var(--rule-strong);border-radius:4px;color:var(--fg-1);outline:none}.tenor-input:focus{border-color:var(--signal)}@media (max-width:720px){.tenor-header{padding:0 20px}.tenor-header__nav,.tenor-rail{display:none}.stat-row{grid-template-columns:repeat(2,1fr);gap:16px}}@media (prefers-reduced-motion:reduce){.tenor-camera,.tenor-scene{transform:none!important}.tenor-cue{animation:none}}