.nav-bar[data-v-d1b77a63]{position:sticky;top:0;z-index:50;background:#0c0a08d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner[data-v-d1b77a63]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}.brand[data-v-d1b77a63]{display:flex;align-items:center;gap:10px;color:var(--text)}.brand[data-v-d1b77a63]:hover{text-decoration:none}.brand-mark[data-v-d1b77a63]{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--ink);background:var(--accent);border-radius:6px;padding:3px 7px;letter-spacing:.02em}.brand-name[data-v-d1b77a63]{font-family:var(--font-mono);font-size:.9rem;color:var(--muted)}.nav-links[data-v-d1b77a63]{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.nav-links a[data-v-d1b77a63]:not(.resume-btn){color:var(--muted);font-size:.94rem;transition:color .2s}.nav-links a[data-v-d1b77a63]:not(.resume-btn):hover{color:var(--text);text-decoration:none}.resume-btn[data-v-d1b77a63]{padding:8px 16px;font-size:.85rem}@media (max-width: 700px){.brand-name[data-v-d1b77a63]{display:none}.nav-links[data-v-d1b77a63]{gap:14px}}.footer[data-v-72bf8168]{border-top:1px solid var(--line);padding:72px 0 40px;background:var(--ink-raise)}.footer-grid[data-v-72bf8168]{display:grid;grid-template-columns:minmax(0,60ch) max-content;gap:48px 96px;justify-content:space-between;align-items:start}.footer-sub[data-v-72bf8168]{color:var(--muted);max-width:60ch;margin-bottom:18px}.footer-email[data-v-72bf8168]{font-size:1.05rem}.footer-links[data-v-72bf8168]{list-style:none;display:flex;flex-direction:column;gap:8px}.phone[data-v-72bf8168]{color:var(--muted)}.colophon[data-v-72bf8168]{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}@media (max-width: 700px){.footer-grid[data-v-72bf8168]{grid-template-columns:1fr;gap:28px}}.hero[data-v-a06993bb]{padding:72px 0 64px;border-bottom:1px solid var(--line)}.hero-name[data-v-a06993bb]{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.4rem);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin-bottom:14px}.hero-role[data-v-a06993bb]{font-size:1.05rem;margin-bottom:18px}.hero-subline[data-v-a06993bb]{font-size:1.05rem;color:var(--muted);max-width:640px;margin-bottom:24px}.hero-links[data-v-a06993bb]{display:flex;gap:28px;flex-wrap:wrap}.about-grid[data-v-f29adfbc]{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0 48px;align-items:start}.about-photo[data-v-f29adfbc]{grid-row:span 2}.about-photo img[data-v-f29adfbc]{border-radius:var(--radius);border:1px solid var(--line)}.about-lead[data-v-f29adfbc]{font-size:1.15rem;margin-bottom:16px}.about-para[data-v-f29adfbc]{color:var(--muted);margin-bottom:16px;max-width:68ch}.facts[data-v-f29adfbc]{list-style:none;grid-column:2;margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px}@media (min-width: 1300px){.about-grid[data-v-f29adfbc]{grid-template-columns:320px minmax(0,72ch) max-content;gap:0 64px;justify-content:space-between}.about-photo[data-v-f29adfbc]{grid-row:auto}.facts[data-v-f29adfbc]{grid-column:auto;grid-template-columns:1fr;margin-top:6px}}.facts li[data-v-f29adfbc]{font-size:.95rem;overflow-wrap:anywhere}.fact-label[data-v-f29adfbc]{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}@media (max-width: 860px){.about-grid[data-v-f29adfbc]{grid-template-columns:1fr;gap:32px}.about-photo[data-v-f29adfbc]{grid-row:auto;max-width:280px}.facts[data-v-f29adfbc]{grid-column:auto;margin-top:0}}@media (max-width: 520px){.facts[data-v-f29adfbc]{grid-template-columns:1fr}}.jobs[data-v-5d6b3c05]{display:flex;flex-direction:column;gap:48px}.company[data-v-5d6b3c05]{display:flex;flex-direction:column;gap:28px}.company-head[data-v-5d6b3c05]{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.company-name[data-v-5d6b3c05]{font-family:var(--font-display);font-size:1.35rem;font-weight:620;letter-spacing:-.01em}.company-location[data-v-5d6b3c05]{font-size:.9rem;color:var(--muted)}.role[data-v-5d6b3c05]{display:grid;grid-template-columns:170px minmax(0,1fr);gap:32px;align-items:start}.role-dates[data-v-5d6b3c05]{font-size:.95rem;color:var(--muted);padding-top:2px;white-space:nowrap}.role-title[data-v-5d6b3c05]{font-size:1.05rem;font-weight:600;margin-bottom:10px}.role-bullets[data-v-5d6b3c05]{list-style:disc;padding-left:1.2em;display:flex;flex-direction:column;gap:8px;max-width:72ch;color:var(--muted)}.role-bullets li[data-v-5d6b3c05]::marker{color:var(--muted)}.milestone[data-v-5d6b3c05]{padding-left:202px;font-size:.95rem;color:var(--muted)}.education[data-v-5d6b3c05]{margin-top:56px;border-top:1px solid var(--line);padding-top:40px}.education .company-name[data-v-5d6b3c05]{margin-bottom:20px}.edu-list[data-v-5d6b3c05]{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px}.edu-school[data-v-5d6b3c05]{font-weight:600}.edu-degree[data-v-5d6b3c05],.edu-note[data-v-5d6b3c05]{color:var(--muted);font-size:.95rem}@media (min-width: 1300px){.experience-grid[data-v-5d6b3c05]{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:96px;align-items:start}.role-bullets[data-v-5d6b3c05]{max-width:80ch}.education[data-v-5d6b3c05]{margin-top:0;border-top:0;padding-top:0}.edu-list[data-v-5d6b3c05]{grid-template-columns:1fr}}@media (max-width: 640px){.role[data-v-5d6b3c05]{grid-template-columns:1fr;gap:6px}.milestone[data-v-5d6b3c05]{padding-left:0}.edu-list[data-v-5d6b3c05]{grid-template-columns:1fr}}.skills-grid[data-v-0a2de24f]{display:grid;grid-template-columns:1fr 1fr;gap:48px}.group-label[data-v-0a2de24f]{font-family:var(--font-display);font-size:1.15rem;font-weight:620;margin-bottom:10px}.skill-list[data-v-0a2de24f]{line-height:1.7}.skill-list.muted[data-v-0a2de24f]{color:var(--muted)}@media (max-width: 760px){.skills-grid[data-v-0a2de24f]{grid-template-columns:1fr;gap:28px}}.card[data-v-3b90063e]{display:block;color:var(--text)}.card[data-v-3b90063e]:hover{text-decoration:none}.card:hover .card-title[data-v-3b90063e]{text-decoration:underline;text-underline-offset:3px}.thumb[data-v-3b90063e]{aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--ink-high);margin-bottom:14px}.thumb video[data-v-3b90063e],.thumb img[data-v-3b90063e]{width:100%;height:100%;object-fit:cover}.card-title[data-v-3b90063e]{font-family:var(--font-display);font-size:1.1rem;font-weight:620;line-height:1.25}.card-meta[data-v-3b90063e]{font-size:.88rem;color:var(--muted);margin:4px 0 8px}.card-blurb[data-v-3b90063e]{color:var(--muted);font-size:.94rem}.filters[data-v-a7144a55]{display:flex;flex-wrap:wrap;gap:4px 24px;margin-bottom:32px}.filter-btn[data-v-a7144a55]{font-family:var(--font-body);font-size:.95rem;color:var(--muted);background:transparent;border:0;padding:6px 0;cursor:pointer}.filter-btn[data-v-a7144a55]:hover{color:var(--text)}.filter-btn.active[data-v-a7144a55]{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.work-grid[data-v-a7144a55]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}@media (min-width: 1400px){.work-grid[data-v-a7144a55]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 900px){.work-grid[data-v-a7144a55]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.work-grid[data-v-a7144a55]{grid-template-columns:1fr}}.quotes[data-v-e9422d34]{display:grid;grid-template-columns:repeat(2,minmax(0,64ch));gap:48px 64px;justify-content:space-between}.quote[data-v-e9422d34]{display:flex;flex-direction:column;gap:16px}blockquote p[data-v-e9422d34]{color:var(--text);font-size:1.02rem;line-height:1.7}figcaption[data-v-e9422d34]{display:flex;flex-direction:column;gap:2px;margin-top:auto}.rec-name[data-v-e9422d34]{font-weight:600}.rec-title[data-v-e9422d34],.rec-org[data-v-e9422d34]{font-size:.88rem;color:var(--muted)}@media (max-width: 820px){.quotes[data-v-e9422d34]{grid-template-columns:1fr;gap:36px}}.project[data-v-c5ef4949]{padding:64px 0 96px;overflow-x:clip}.back-link[data-v-c5ef4949]{font-family:var(--font-mono);font-size:.82rem;color:var(--muted)}.back-link[data-v-c5ef4949]:hover{color:var(--accent)}.project-head[data-v-c5ef4949]{margin:28px 0 44px}.project-title[data-v-c5ef4949]{font-family:var(--font-display);font-size:clamp(2.1rem,6vw,3.4rem);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin-top:14px}.project-layout[data-v-c5ef4949]{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:start}.project-layout.has-wide[data-v-c5ef4949]{grid-template-columns:minmax(0,1fr);gap:44px}.has-wide .project-side[data-v-c5ef4949]{order:-1;position:static}.has-wide .meta-list[data-v-c5ef4949]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 28px}.project-pitch[data-v-c5ef4949]{font-family:var(--font-display);font-size:clamp(1.15rem,2.6vw,1.45rem);font-weight:500;line-height:1.35;letter-spacing:-.01em;max-width:60ch;margin-top:20px}.facts[data-v-c5ef4949]{display:grid;grid-template-columns:2fr 1fr 1.6fr .8fr;gap:18px 32px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:44px}.fact-row dt[data-v-c5ef4949]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.fact-row dd[data-v-c5ef4949]{font-size:.94rem;line-height:1.5}.split[data-v-c5ef4949]{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.split .project-heading[data-v-c5ef4949]{margin-top:0}.split .project-list[data-v-c5ef4949]{margin-bottom:0}.section-row[data-v-c5ef4949]{display:grid;grid-template-columns:minmax(0,1fr) min(520px,42%);gap:24px 56px;align-items:start;margin-top:56px}@media (min-width: 1280px){.section-row[data-v-c5ef4949]{grid-template-columns:minmax(0,68ch) minmax(520px,1fr)}}.section-row .project-heading[data-v-c5ef4949]{margin-top:0}.section-row .media-block[data-v-c5ef4949]{margin:0}.section-text .media-block[data-v-c5ef4949]{margin-top:28px}.showcase .project-heading[data-v-c5ef4949]{margin-top:56px}.showcase .media-block.wide[data-v-c5ef4949]{width:100%;margin-left:0}.showcase .media-block.wide .media-caption[data-v-c5ef4949]{max-width:none}.more[data-v-c5ef4949]{margin-top:56px;border-top:1px solid var(--line)}.more-summary[data-v-c5ef4949]{padding:22px 0;cursor:pointer;font-family:var(--font-display);font-size:1.12rem;font-weight:700;letter-spacing:-.01em}.more-summary[data-v-c5ef4949]:hover,.more-summary[data-v-c5ef4949]:focus-visible{color:var(--accent)}.more .section-row[data-v-c5ef4949]:first-of-type{margin-top:8px}.more-details[data-v-c5ef4949]{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}.more-details .meta-list[data-v-c5ef4949]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 28px}@media (max-width: 900px){.facts[data-v-c5ef4949]{grid-template-columns:1fr 1fr}.section-row[data-v-c5ef4949]{grid-template-columns:minmax(0,1fr);gap:0}.section-row .media-block[data-v-c5ef4949]{margin-top:24px}}@media (max-width: 600px){.facts[data-v-c5ef4949]{grid-template-columns:1fr;gap:14px}.split[data-v-c5ef4949]{grid-template-columns:1fr}.split .split-column:first-child .project-list[data-v-c5ef4949]{margin-bottom:32px}.section-row[data-v-c5ef4949],.showcase .project-heading[data-v-c5ef4949],.more[data-v-c5ef4949]{margin-top:44px}}.project-para[data-v-c5ef4949]{color:var(--muted);margin-bottom:18px;max-width:68ch}.project-heading[data-v-c5ef4949]{font-family:var(--font-display);font-size:1.12rem;font-weight:700;letter-spacing:-.01em;margin:38px 0 14px}.project-heading[data-v-c5ef4949]:first-child{margin-top:0}.project-list[data-v-c5ef4949]{list-style:none;max-width:68ch;margin-bottom:18px;display:flex;flex-direction:column;gap:9px}.project-list li[data-v-c5ef4949]{position:relative;padding-left:20px;color:var(--muted)}.project-list li[data-v-c5ef4949]:before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:2px;background:var(--accent)}.project-note[data-v-c5ef4949]{max-width:68ch;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:.84rem;line-height:1.6;color:var(--muted)}.media-block[data-v-c5ef4949]{margin:34px 0}.media-block.lead[data-v-c5ef4949]{margin-top:0}.gallery[data-v-c5ef4949]{display:grid;grid-template-columns:repeat(2,minmax(0,460px));justify-content:start;gap:32px;align-items:start;margin:34px 0}.gallery .media-block[data-v-c5ef4949]{margin:0}@media (max-width: 600px){.gallery[data-v-c5ef4949]{grid-template-columns:minmax(0,460px)}}.media-block.wide[data-v-c5ef4949]{width:min(1200px,calc(100vw - 48px));margin-left:calc(50% - min(600px,50vw - 24px))}.media-block.wide .media-caption[data-v-c5ef4949]{max-width:1052px;margin-left:auto;margin-right:auto}.media-block video[data-v-c5ef4949]{width:100%}.media-block img[data-v-c5ef4949]{width:auto;max-width:100%;max-height:90vh}.media-block.wide img[data-v-c5ef4949],.section-figure img[data-v-c5ef4949]{max-height:none}@media (min-width: 1280px){.section-figure[data-v-c5ef4949]{max-width:640px;justify-self:end}.section-figure .zoomable[data-v-c5ef4949]{margin-left:auto}.section-figure img[data-v-c5ef4949]{max-height:90vh}}.media-block video[data-v-c5ef4949],.media-block img[data-v-c5ef4949]{border-radius:var(--radius);border:1px solid var(--line)}.zoomable[data-v-c5ef4949]{position:relative;display:block;width:fit-content;max-width:100%;padding:0;border:0;background:none;cursor:zoom-in}.zoomable img[data-v-c5ef4949]{display:block}.zoom-hint[data-v-c5ef4949]{position:absolute;right:12px;bottom:12px;font-family:var(--font-mono);font-size:.72rem;color:var(--text);background:#0c0a08d1;border:1px solid var(--line);border-radius:6px;padding:4px 9px;opacity:0;transition:opacity .15s;pointer-events:none}.zoomable:hover .zoom-hint[data-v-c5ef4949],.zoomable:focus-visible .zoom-hint[data-v-c5ef4949],.wide .zoom-hint[data-v-c5ef4949]{opacity:1}.lightbox[data-v-c5ef4949]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#080705f2;overflow:auto;overscroll-behavior:contain}.lightbox-frame[data-v-c5ef4949]{width:max-content;min-width:100%;min-height:100%;padding:60px 16px 28px}.lightbox-frame.fit[data-v-c5ef4949]{width:100%}.lightbox-frame img[data-v-c5ef4949]{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:6px;cursor:zoom-in}.lightbox-frame img.sized[data-v-c5ef4949]{max-width:none}.lightbox-frame img.full[data-v-c5ef4949]{cursor:zoom-out}.lightbox-caption[data-v-c5ef4949]{max-width:900px;margin:14px auto 0;font-family:var(--font-mono);font-size:.8rem;color:var(--muted);text-align:center}.lightbox-close[data-v-c5ef4949]{position:fixed;top:12px;right:14px;z-index:1;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--ink-raise);color:var(--text);font-size:1.1rem;cursor:pointer}.lightbox-close[data-v-c5ef4949]:hover{color:var(--accent);border-color:var(--accent)}.slides-wrap[data-v-c5ef4949]{position:relative;aspect-ratio:16 / 9.5;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.slides-wrap iframe[data-v-c5ef4949]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.media-caption[data-v-c5ef4949]{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);margin-top:10px}.project-side[data-v-c5ef4949]{position:sticky;top:90px;background:var(--ink-raise);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px}.side-title[data-v-c5ef4949]{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.meta-list[data-v-c5ef4949]{display:flex;flex-direction:column;gap:14px}.meta-row dt[data-v-c5ef4949]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.meta-row dd[data-v-c5ef4949]{font-size:.94rem}.side-links[data-v-c5ef4949]{display:flex;flex-direction:column;gap:10px;margin-top:24px}.side-link[data-v-c5ef4949]{text-align:center;font-size:.8rem;padding:10px 16px}.pager[data-v-c5ef4949]{display:flex;justify-content:space-between;gap:20px;margin-top:72px;padding-top:28px;border-top:1px solid var(--line)}.pager-link[data-v-c5ef4949]{font-family:var(--font-mono);font-size:.84rem;color:var(--muted);max-width:45%}.pager-link[data-v-c5ef4949]:hover{color:var(--accent)}.pager-link.next[data-v-c5ef4949]{text-align:right}.missing[data-v-c5ef4949]{padding:140px 24px;text-align:center}@media (max-width: 900px){.project-layout[data-v-c5ef4949]{grid-template-columns:1fr;gap:40px}.project-side[data-v-c5ef4949]{position:static}}@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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");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: #0c0a08;--ink-raise: #151210;--ink-high: #1e1915;--line: #2a231b;--text: #f4efe8;--muted: #a69c8e;--accent: #fa8c28;--accent-dim: rgba(250, 140, 40, .12);--accent2: #efc248;--accent2-dim: rgba(239, 194, 72, .12);--font-display: "Bricolage Grotesque Variable", sans-serif;--font-body: "Instrument Sans Variable", sans-serif;--font-mono: "IBM Plex Mono", monospace;--container: 1512px;--gutter: clamp(24px, 4vw, 64px);--radius: 10px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}img,video{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:var(--accent);color:var(--ink)}.container{max-width:calc(var(--container) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.section{padding:72px 0}.section+.section{border-top:1px solid var(--line)}.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2rem);font-weight:640;letter-spacing:-.02em;line-height:1.15;margin-bottom:32px}.btn{display:inline-block;font-size:.9rem;padding:12px 24px;border-radius:6px;border:1px solid var(--accent);transition:background .2s,color .2s}.btn:hover{text-decoration:none}.btn-solid{background:var(--accent);color:var(--ink);font-weight:600}.btn-solid:hover{background:#ffa14e}.btn-ghost{color:var(--accent);background:transparent}.btn-ghost:hover{background:var(--accent-dim)}.tag{font-size:.9rem;color:var(--muted)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
