@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-ext-wght-normal.c-5QAGAI.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-wght-normal.BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-ext-wght-normal.BXZfsJY4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-wght-normal.Cc-u-6OI.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-vietnamese-wght-normal.BDs68eHQ.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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-ext-wght-normal.C8iNium2.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-normal.Bo_j9asI.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{--font-heading:"Newsreader Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-body:"Source Sans 3 Variable", "Helvetica Neue", Arial, sans-serif;--font-prose:var(--font-heading);--color-bg:#faf8f3;--color-surface:#f0ece3;--color-text:#1e1c19;--color-text-muted:#5c574f;--color-border:#ddd7ca;--color-border-strong:#8a8478;--color-accent:#1f4d3a;--color-accent-hover:#153729;--color-accent-tint:#e3ece5;--color-on-accent:#faf8f3;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-md:1.1875rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 1.5rem + 1vw, 2.125rem);--text-3xl:clamp(2rem, 1.3rem + 2.8vw, 3.25rem);--text-4xl:clamp(2.25rem, 1.2rem + 4.4vw, 4.25rem);--leading-tight:1.12;--leading-snug:1.3;--leading-normal:1.55;--leading-prose:1.6;--space-4:.25rem;--space-8:.5rem;--space-12:.75rem;--space-16:1rem;--space-24:1.5rem;--space-32:2rem;--space-48:3rem;--space-64:4rem;--space-96:6rem;--space-128:8rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-pill:999px;--shadow-none:none;--shadow-sm:0 1px 2px #1e1c190d;--shadow-md:0 8px 24px #1e1c190f;--width-page:70rem;--width-prose:40rem;--gutter:clamp(1.25rem, 5vw, 3rem);--duration:.18s;--ease:cubic-bezier(.2, 0, 0, 1);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;margin:0;display:flex}main{flex:1}main:focus{outline:none}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:var(--leading-tight);letter-spacing:-.01em;text-wrap:balance;margin:0}p,ul,ol,dl,dd,figure{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-underline-offset:.2em;transition:color var(--duration) var(--ease);text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}::selection{background:var(--color-accent-tint)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}@view-transition{navigation:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{width:100%;max-width:calc(var(--width-page) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.08em;font-weight:600;line-height:var(--leading-snug);text-transform:uppercase;color:var(--color-text-muted)}.skip-link{left:var(--space-16);top:var(--space-16);z-index:10;padding:var(--space-8) var(--space-16);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{color:var(--color-on-accent);outline-color:var(--color-text);transform:none}.site-header{border-bottom:1px solid var(--color-border)}.site-header .container,.site-footer .container{justify-content:space-between;align-items:center;gap:var(--space-8) var(--space-24);padding-block:var(--space-16);flex-wrap:wrap;display:flex}.site-name{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text);padding-block:var(--space-8);text-decoration:none}.site-name:hover{color:var(--color-accent)}.site-nav a,.site-footer a{padding-block:var(--space-8);font-weight:500;display:inline-block}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-96)}.site-footer .container{padding-block:var(--space-24)}.site-footer ul{gap:var(--space-8) var(--space-24);flex-wrap:wrap;display:flex}.site-footer p{color:var(--color-text-muted);font-size:var(--text-sm)}.tags{gap:var(--space-8);flex-wrap:wrap;display:flex}.tags li{font-size:var(--text-sm);line-height:var(--leading-snug);padding:var(--space-4) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted)}.hero{padding-block:clamp(var(--space-64), 11vw, var(--space-128));text-align:center;align-items:center;gap:var(--space-24);flex-direction:column;display:flex}.hero h1{font-size:var(--text-4xl);max-width:17em;line-height:1.1}.hero p{font-size:var(--text-md);color:var(--color-text-muted)}.work{gap:var(--space-24);flex-direction:column;display:flex}.projects{gap:var(--space-32);flex-direction:column;display:flex}.card{gap:var(--space-32) var(--space-48);padding:var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-none);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;display:grid;position:relative}.card:hover,.card:focus-within{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-media{border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.card-media img{width:100%}.card-body{align-items:flex-start;gap:var(--space-16);min-width:0;padding-right:var(--space-8);flex-direction:column;display:flex}.card h3{font-size:var(--text-2xl);line-height:1.15}.card h3 a{color:var(--color-text);text-decoration:none}.card h3 a:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.card h3 a:focus-visible{outline:none}.card h3 a:focus-visible:after{outline:2px solid var(--color-accent);outline-offset:3px}.card-summary{color:var(--color-text-muted)}.card-facts{gap:var(--space-4) var(--space-16);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.card-facts dt{color:var(--color-text-muted)}.card-cta{color:var(--color-accent);margin-top:var(--space-4);font-weight:600}.card-cta span{transition:transform var(--duration) var(--ease);display:inline-block}.card:hover .card-cta span,.card:focus-within .card-cta span{transform:translate(4px)}.study{padding-top:var(--space-48);gap:var(--space-48);flex-direction:column;display:flex}.study-head{align-items:flex-start;gap:var(--space-24);flex-direction:column;display:flex}.back-link{padding-block:var(--space-8);font-weight:500;display:inline-block}.study-head h1{font-size:var(--text-3xl);max-width:22em}.study-summary{font-size:var(--text-lg);color:var(--color-text-muted);max-width:var(--width-prose)}.facts{gap:var(--space-24) var(--space-32);border-block:1px solid var(--color-border);width:100%;padding-block:var(--space-24);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.facts dt{margin-bottom:var(--space-4)}.study-cover{border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.study-cover img{width:100%}.study-body{gap:var(--space-32) var(--space-64);grid-template-columns:13rem minmax(0,1fr);align-items:start;display:grid}.toc{top:var(--space-32);max-height:calc(100vh - var(--space-64));gap:var(--space-12);font-size:var(--text-sm);line-height:var(--leading-snug);flex-direction:column;display:flex;position:sticky;overflow-y:auto}.toc ol{flex-direction:column;display:flex}.toc ol ol{padding-left:calc(1.25em + var(--space-8))}.toc a{gap:var(--space-8);padding-block:var(--space-4);color:var(--color-text-muted);text-decoration:none;display:flex}.toc a:hover{color:var(--color-accent);text-decoration:underline}.toc-num{font-variant-numeric:tabular-nums;min-width:1.25em;color:var(--color-accent);flex:none}.study-foot{justify-content:space-between;gap:var(--space-16) var(--space-32);border-top:1px solid var(--color-border);padding-top:var(--space-32);margin-top:var(--space-16);flex-wrap:wrap;display:flex}.next-link{gap:var(--space-4);text-align:right;flex-direction:column;max-width:28rem;text-decoration:none;display:flex}.next-link strong{font-family:var(--font-heading);font-size:var(--text-xl);text-underline-offset:.2em;font-weight:400;line-height:1.2;text-decoration:underline 1px}.prose{min-width:0;font-family:var(--font-prose);font-size:var(--text-lg);line-height:var(--leading-prose)}.prose>*{max-width:var(--width-prose)}.prose>*+*{margin-top:var(--space-24)}.prose>figure,.prose>.stats,.prose>.figure-pair{max-width:none;margin-block:var(--space-48)}.prose h2{font-size:var(--text-2xl);margin-top:var(--space-96);padding-top:var(--space-32);border-top:1px solid var(--color-border);max-width:none;scroll-margin-top:var(--space-16)}.prose>h2:first-child{margin-top:0}.section-num{color:var(--color-accent);font-variant-numeric:tabular-nums}.prose h3{font-size:var(--text-xl);margin-top:var(--space-64);scroll-margin-top:var(--space-24);font-weight:500;line-height:1.2}.prose h4{font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;font-weight:600;line-height:var(--leading-snug);margin-top:var(--space-48)}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--space-16)}.prose h2+h3{margin-top:var(--space-32)}.prose ul,.prose ol{gap:var(--space-8);flex-direction:column;padding-left:1.25em;display:flex}.prose li::marker{color:var(--color-accent)}.prose strong{font-weight:600}.prose .stage-aim{color:var(--color-accent);line-height:1.45}.prose blockquote{padding:var(--space-24);background:var(--color-accent-tint);border-radius:var(--radius-md);margin-inline:0}.figure-media{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:block;overflow:hidden}.figure-media img{width:100%}a.figure-media:hover{border-color:var(--color-border-strong)}.figure-pair-grid{gap:var(--space-16);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}figcaption{margin-top:var(--space-12);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}figcaption p{display:inline}.prose .stats{gap:var(--space-16);font-family:var(--font-body);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));padding-left:0;display:grid}.prose .stats li{gap:var(--space-4);padding:var(--space-16) var(--space-24) var(--space-24);background:var(--color-accent-tint);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-snug);flex-direction:column;display:flex}.stat-value{font-family:var(--font-heading);color:var(--color-accent);font-size:2.25rem;font-weight:500;line-height:1.15}.video-frame{aspect-ratio:3400/2160;border-radius:var(--radius-md);background:var(--color-surface);max-width:100%;overflow:hidden}.video-frame video{width:100%;height:100%;display:block}.video-placeholder{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-12);height:100%;padding:var(--space-16);text-align:center;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;display:flex}.video-placeholder svg{color:var(--color-accent)}.not-found{padding-block:var(--space-96);align-items:flex-start;gap:var(--space-24);flex-direction:column;display:flex}.not-found h1{font-size:var(--text-3xl)}@media (width<=56rem){.study-body{grid-template-columns:minmax(0,1fr)}.toc{max-height:none;padding:var(--space-16) var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-md);position:static}}@media (width<=48rem){.card{gap:var(--space-24);padding:var(--space-16);grid-template-columns:minmax(0,1fr)}.card-body{padding:0 var(--space-4) var(--space-8)}.site-footer{margin-top:var(--space-64)}.study{padding-top:var(--space-24);gap:var(--space-32)}.study-cover{border-radius:var(--radius-md)}.prose{font-size:var(--text-md)}.prose h2{margin-top:var(--space-64)}.prose>figure,.prose>.stats,.prose>.figure-pair{margin-block:var(--space-32)}.figure-pair-grid{grid-template-columns:minmax(0,1fr)}.next-link{text-align:left}}
