@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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: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+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: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+??,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:#0a0c0f;--surface:#11161b;--surface-2:#151b21;--border:#1f272e;--border-strong:#2e3942;--text:#e6edf3;--muted:#8b98a5;--accent:#58e6a8;--accent-hover:#7df0bc;--accent-ink:#04120c;--header-bg:#0a0c0fd1;--glow:#58e6a812;--fs-label:.875rem;--fs-body:1.125rem;--fs-h3:1.375rem;--fs-h2:clamp(1.75rem, 4vw, 2.5rem);--fs-h1:clamp(2.5rem, 7vw, 4.5rem);--sp-1:.5rem;--sp-2:1rem;--sp-3:1.5rem;--sp-4:2rem;--sp-5:3rem;--sp-6:4rem;--sp-7:6rem;--max:1120px;--radius:12px;--header-h:64px;--font:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, "Liberation Mono", monospace}html[data-theme=light]{--bg:#f6f8fa;--surface:#fff;--surface-2:#eef2f5;--border:#d7dfe6;--border-strong:#b5c1cc;--text:#0f1720;--muted:#52616e;--accent:#0b7a58;--accent-hover:#096a4c;--accent-ink:#fff;--header-bg:#f6f8fadb;--glow:#0b7a5814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}*{margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{background:var(--bg);background-image:radial-gradient(900px circle at 12% 0%, var(--glow), transparent 60%);min-height:100vh;color:var(--text);font-family:var(--font);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-repeat:no-repeat;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}h1,h2,h3{letter-spacing:-.02em;font-weight:600;line-height:1.15}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:var(--accent-ink)}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);padding:.75rem 1rem;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.label{font-family:var(--mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.site-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--sp-2);max-width:var(--max);padding:.875rem var(--sp-3);margin:0 auto;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;font-weight:600}.header-actions{align-items:center;gap:var(--sp-3);display:flex}.site-nav{display:none}.nav-list{gap:var(--sp-3);color:var(--muted);font-size:.9375rem;display:flex}.nav-list a{transition:color .2s}.nav-list a:hover{color:var(--text)}.locale-toggle{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:2px;display:inline-flex}.locale-option{color:var(--muted);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.3rem .7rem;font-size:.8125rem;font-weight:600;transition:background-color .2s,color .2s}.locale-option:hover{color:var(--text)}.locale-option[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text)}.theme-toggle svg{width:1.1rem;height:1.1rem}.hero{max-width:var(--max);padding:clamp(3.5rem, 10vw, 7rem) var(--sp-3) clamp(3rem, 8vw, 5rem);margin:0 auto}.hero h1{margin-top:var(--sp-2);font-size:var(--fs-h1);letter-spacing:-.035em;line-height:1.02}.hero-role{margin-top:var(--sp-2);font-size:clamp(1.125rem,2.6vw,1.5rem);font-weight:500}.hero-lead{max-width:60ch;margin-top:var(--sp-3);color:var(--muted)}.actions{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.btn{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.section{max-width:var(--max);padding:clamp(3rem, 7vw, 4.5rem) var(--sp-3);border-top:1px solid var(--border);margin:0 auto}.section-head{margin-bottom:var(--sp-4)}.section-head h2{margin-top:var(--sp-1);font-size:var(--fs-h2)}.projects-grid{gap:var(--sp-3);grid-template-columns:1fr;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;transition:border-color .25s;display:flex;overflow:hidden}.card:hover{border-color:var(--border-strong)}.card-media{aspect-ratio:4/3;background:var(--surface-2);position:relative;overflow:hidden}.card-media img{object-fit:cover;object-position:top center;width:100%;height:100%}.card-body{gap:var(--sp-2);padding:var(--sp-3);flex-direction:column;flex:1;display:flex}.card-top{align-items:baseline;gap:.75rem;display:flex}.card-number{font-family:var(--mono);color:var(--accent);font-size:.8125rem}.card-top h3{font-size:var(--fs-h3)}.card-summary{color:var(--muted);font-size:1rem}.card-role{border-left:2px solid var(--accent);padding-left:.75rem;font-size:.9375rem}.card-role span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem;font-size:.75rem;display:block}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tags li{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.25rem .625rem;font-size:.8125rem}.card-links{gap:var(--sp-3);padding-top:var(--sp-1);margin-top:auto;font-size:.9375rem;font-weight:500;display:flex}.card-links a{color:var(--accent);align-items:center;gap:.35rem;display:inline-flex}.card-links a:hover{text-underline-offset:4px;text-decoration:underline}.stack-grid{gap:var(--sp-4) var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack-group h3{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.8125rem;font-weight:500}.stack-group ul{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.stack-group li{font-size:1.0625rem}.stack-now{margin-top:var(--sp-5);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.9375rem}.stack-now strong{color:var(--accent)}.process-grid{gap:var(--sp-4);grid-template-columns:1fr;display:grid}.process-step{padding-top:var(--sp-2);border-top:1px solid var(--border)}.step-number{font-family:var(--mono);color:var(--accent);font-size:.8125rem}.process-step h3{margin:.5rem 0;font-size:1.125rem}.process-step p{color:var(--muted);font-size:.9875rem}.contact-grid{gap:var(--sp-4);grid-template-columns:1fr;display:grid}.contact-lead{max-width:46ch;color:var(--muted)}.contact-list{flex-direction:column;gap:.75rem;display:flex}.contact-list a{justify-content:space-between;align-items:baseline;gap:var(--sp-2);border-bottom:1px solid var(--border);padding-bottom:.75rem;font-size:1rem;transition:border-color .2s,color .2s;display:flex}.contact-list a:hover{border-color:var(--accent);color:var(--accent)}.contact-value{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;text-align:right;font-size:.875rem}.availability{margin-top:var(--sp-4);color:var(--muted);font-size:.9375rem}.site-footer{margin-top:var(--sp-5);border-top:1px solid var(--border)}.footer-inner{justify-content:space-between;gap:var(--sp-2);max-width:var(--max);padding:var(--sp-4) var(--sp-3);color:var(--muted);flex-wrap:wrap;margin:0 auto;font-size:.875rem;display:flex}.footer-inner a:hover{color:var(--accent)}@media (width>=700px){.process-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start}}@media (width>=900px){.site-nav{display:block}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card--wide{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.card--wide .card-media{aspect-ratio:auto;height:100%}.card--wide .card-media img{object-position:center}.card--wide .card-body{justify-content:center}.stack-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
