@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.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{--plum:#17021f;--yellow:#fde725;--gutter:clamp(20px, 4vw, 56px);--ease:cubic-bezier(.16, 1, .3, 1);--chrome-field:#440154;--p:0;--cols:3;--rail-room:0px;color-scheme:dark;scrollbar-color:#21918c var(--plum)}*,:before,:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:56px}body{color:#fff;-webkit-font-smoothing:antialiased;background:#440154;font:400 1.0625rem/1.6 Archivo Variable,system-ui,sans-serif;overflow-x:clip}a{color:inherit}ul,ol{padding:0;list-style:none}strong,b{font-weight:700}:focus-visible{outline-offset:3px;outline:3px solid}.skip{z-index:50;background:var(--yellow);color:var(--plum);padding:10px 16px;font-weight:700;position:fixed;top:-80px;left:12px}.skip:focus{top:12px}.plate{background:var(--field);color:var(--ink);padding-block:clamp(88px,12vw,168px);position:relative}.on-dark{--ink:#fff;--ink-2:color-mix(in oklab, #fff 82%, var(--field));--soft:color-mix(in oklab, #fff 30%, var(--field));--rule:#ffffff1a;--accent:var(--yellow);--btn-bg:var(--yellow);--btn-ink:var(--plum)}.on-light{--ink:var(--plum);--ink-2:color-mix(in oklab, var(--plum) 88%, var(--field));--soft:color-mix(in oklab, var(--plum) 28%, var(--field));--rule:#17021f1f;--accent:var(--plum);--btn-bg:var(--plum);--btn-ink:#fff}.on-dark ::selection{background:var(--yellow);color:var(--plum)}.on-light ::selection{background:var(--plum);color:var(--yellow)}.wrap{width:100%;max-width:1320px;padding-inline:var(--gutter);margin-inline:auto}.plate:before{content:"";inset-block:0;left:max(var(--gutter), calc((100% - 1320px) / 2 + var(--gutter)));right:max(var(--gutter) + var(--rail-room), calc((100% - 1320px) / 2 + var(--gutter) + var(--rail-room)));pointer-events:none;border-right:1px solid var(--rule);background:repeating-linear-gradient(to right, var(--rule) 0 1px, transparent 1px calc(100% / var(--cols)));position:absolute}.plate>*{position:relative}h1,h2,h3{text-wrap:balance;font-weight:700}.name{letter-spacing:-.03em;font-size:clamp(3.3rem,10.4vw,9.5rem);font-weight:800;line-height:.94}.mask{padding-bottom:.08em;display:block;overflow:hidden}.mask-in{--wdth:108;font-stretch:calc(var(--wdth) * 1%);display:block}h2{letter-spacing:-.025em;max-width:17ch;margin-bottom:clamp(40px,5vw,72px);font-size:clamp(2rem,4.6vw,4.25rem);font-stretch:112%;line-height:1.04}h3{letter-spacing:-.012em;font-size:clamp(1.35rem,2vw,1.85rem);font-stretch:106%;line-height:1.15}.lede{max-width:34ch;font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.42}figcaption,.plot-label,.tag,.kit,.where,.when,.cred-who,.gantt,.foot,.rail,.bar-links{letter-spacing:.012em;font-stretch:78%}.btn{background:var(--btn-bg);color:var(--btn-ink);transition:background-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);border-radius:3px;padding:15px 28px;font-weight:700;font-stretch:106%;text-decoration:none;display:inline-block}.btn:hover{background:var(--ink);color:var(--field)}.btn:active{transform:scale(.97)}.btn-small{padding:9px 18px;font-size:.95rem}.link{text-underline-offset:.24em;transition:text-underline-offset .3s var(--ease), color .3s var(--ease);font-weight:600;text-decoration-thickness:2px}.link:hover{text-underline-offset:.4em;color:var(--accent)}.bar{--ink:#fff;--field:var(--chrome-field);--btn-bg:var(--yellow);--btn-ink:var(--plum);z-index:20;padding:14px var(--gutter);background:var(--chrome-field);color:var(--ink);transition:transform .5s var(--ease), background-color .4s linear, color .4s linear;align-items:center;gap:28px;display:flex;position:absolute;inset:0 0 auto}.js .bar{position:fixed}.bar.is-hidden{transform:translateY(-101%)}[data-ink=dark] .bar{--ink:var(--plum);--btn-bg:var(--plum);--btn-ink:#fff}.bar-name{margin-right:auto;font-weight:700;font-stretch:106%;text-decoration:none}.bar-links{gap:26px;font-weight:500;display:none}.bar-links a{transition:background-size .35s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-block:6px;text-decoration:none}.bar-links a:hover{background-size:100% 2px}.rail{z-index:20;padding-bottom:env(safe-area-inset-bottom);background:var(--plum);position:fixed;inset:auto 0 0}.rail ol{height:46px;display:flex}.rail li{flex:1 1 0;position:relative}.rail a{color:#fff;white-space:nowrap;height:100%;font-size:.9rem;font-weight:600;text-decoration:none;display:block}.rail a:before{content:"";background:var(--c);transform-origin:50% 0;height:7px;transition:transform .4s var(--ease);display:block;box-shadow:inset 0 0 0 1px #ffffff4d}.rail a[aria-current]:before{transform:scaleY(2)}.rail a span{opacity:0;transition:opacity .3s var(--ease);position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.rail li:first-child a span{left:8px;transform:none}.rail li:last-child a span{left:auto;right:8px;transform:none}.rail a[aria-current] span{opacity:1}.rail-marker{display:none}.contact .foot{padding-bottom:76px}@media (width>=900px){:root{--cols:6;--rail-room:40px}.contact .foot{padding-bottom:28px}.bar-links{display:flex}.rail{width:12px;height:min(56vh,480px);box-shadow:0 0 0 2px var(--plum), 0 0 0 3px #ffffff8c;background:linear-gradient(#440154,#482475,#414487,#355f8d,#2a788e,#21918c,#22a884,#44bf70,#7ad151,#bddf26,#fde725);padding:0;inset:50% clamp(12px,1.6vw,26px) auto auto;transform:translateY(-50%)}.rail ol{height:auto;display:block}.rail li{right:0;top:calc(var(--at) * 100%);position:absolute}.rail a{justify-content:flex-end;align-items:center;height:28px;font-size:.85rem;display:flex;position:absolute;top:-14px;right:0}.rail a:before{display:none}.rail a:after{content:"";background:var(--plum);flex:none;width:20px;height:2px;margin-left:8px;box-shadow:0 0 0 1px #ffffff8c}.rail a span,.rail li:first-child a span,.rail li:last-child a span{background:var(--plum);opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);padding:3px 9px;position:static;transform:translate(8px)}.rail a[aria-current] span:after{content:attr(data-p);font-variant-numeric:tabular-nums;opacity:.75;margin-left:.6em}.rail a[aria-current]:after{background:var(--yellow);width:28px}.rail:hover a span,.rail a:focus-visible span,.rail a[aria-current] span{opacity:1;transform:none}.rail a{width:max-content}.rail a:hover span{background:var(--yellow);color:var(--plum)}.rail-marker{top:calc(var(--p) * 100%);width:22px;height:3px;box-shadow:0 0 0 1px var(--plum);background:#fff;margin-top:-1px;display:block;position:absolute;right:-5px}html:not(.js) .rail-marker{display:none}.wrap{padding-right:calc(var(--gutter) + var(--rail-room))}}.hero{align-items:flex-end;min-height:100svh;padding-block:112px calc(clamp(40px,6vw,80px) + 46px);display:flex}.hero-grid{gap:48px;margin-top:clamp(32px,5vw,64px);display:grid}.actions{flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:32px;display:flex}.fig figcaption{color:var(--ink-2);max-width:46ch;font-size:.95rem;line-height:1.45}.fig figcaption b{color:var(--ink);margin-right:.5em}.fig figcaption strong{color:var(--ink)}.fig-hero{grid-template-columns:1fr 2fr;align-items:end;display:grid}.fig-hero .dotgrid{padding-right:16px}.plot-label{letter-spacing:-.01em;white-space:nowrap;margin-bottom:14px;font-size:clamp(2.4rem,4.4vw,4rem);font-weight:800;line-height:.95}.plot-label .tally{color:var(--yellow)}.tally{text-align:right;font-variant-numeric:tabular-nums;min-width:2ch;display:inline-block}.dotgrid{width:100%;height:auto;overflow:visible}.dot{fill:none;stroke:var(--soft);stroke-width:1px}.dot.on{fill:var(--yellow);stroke:var(--yellow)}@media (width>=900px){.mask-in{--wdth:125}.hero{padding-bottom:clamp(40px,6vw,80px)}.hero-grid{grid-template-columns:repeat(6,1fr);align-items:end;gap:0}.hero-say{grid-column:1/span 4}.fig-hero{grid-column:5/span 2;grid-template-columns:1fr 1fr}.fig-hero .dotgrid{padding-right:22px}.plot-label{font-size:clamp(2rem,3.3vw,3rem)}}.js:not(.ready) .mask-in,.js:not(.ready) .hero-in{visibility:hidden}.abstract{letter-spacing:-.012em;max-width:36ch;font-size:clamp(1.45rem,2.9vw,2.55rem);font-weight:500;line-height:1.26}.portrait{aspect-ratio:4/5;object-fit:cover;width:100%;max-width:388px;height:auto;margin-bottom:40px;display:block}@media (width>=900px){.about-grid{grid-template-columns:repeat(6,1fr);display:grid}.about-grid>*{grid-column:1/span 4}.about-grid .portrait{grid-area:1/5/span 2/span 2;margin:0}}.work{overflow:hidden}.track{max-width:1320px;padding-inline:var(--gutter);gap:clamp(88px,10vw,136px);margin-inline:auto;display:grid}.panel{gap:36px;display:grid}.panel-say p{max-width:58ch;color:var(--ink-2)}.panel-say h3{margin-bottom:16px}.panel-say .outcome{color:var(--ink);margin-top:22px;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:600}.outcome strong{color:var(--yellow);font-weight:800;font-stretch:112%}.kit{margin-top:20px;font-weight:600}.where{font-size:.95rem}.plot{width:100%;max-width:520px;height:auto;overflow:visible}.tick{fill:var(--ink-2);font-size:14px;font-stretch:78%}.tick.end{fill:var(--ink);font-weight:700}.mark,.barmark.base{fill:var(--soft)}.ring{fill:none;stroke:var(--ink);stroke-width:1.5px}.ring.new{stroke:var(--yellow);stroke-width:3px}.barmark,.block{fill:var(--yellow)}.axis{stroke:var(--ink-2);stroke-width:1.5px}.fig .plot+figcaption,.talk+figcaption{margin-top:20px}.talk{gap:10px;max-width:520px;display:grid}.say{max-width:86%;padding:14px 18px;line-height:1.42}.say.them{background:color-mix(in oklab, var(--plum) 42%, var(--field));border-radius:16px 16px 16px 3px}.say.me{background:var(--yellow);color:var(--plum);border-radius:16px 16px 3px;justify-self:end}.tag{color:var(--ink-2);align-items:center;gap:8px;font-size:.92rem;display:flex}.tag:before{content:"";border:1.5px solid;border-radius:50%;flex:none;width:9px;height:9px}.tag.done{color:var(--ink);justify-self:end;font-weight:600}.tag.done:before{background:var(--yellow);border-color:var(--yellow)}@media (width>=900px){.panel{grid-template-columns:1fr 1fr;align-items:center;gap:0}.panel .fig{padding-right:56px}.track{padding-right:calc(var(--gutter) + var(--rail-room))}.work.is-h{flex-direction:column;justify-content:center;min-height:100vh;padding-block:96px 40px;display:flex}.work.is-h h2{margin-bottom:clamp(28px,4vh,56px)}.work.is-h .track{will-change:transform;width:max-content;max-width:none;padding-left:max(var(--gutter), calc((100vw - 1320px) / 2 + var(--gutter)));padding-right:max(var(--gutter) + var(--rail-room), calc((100vw - 1320px) / 2 + var(--gutter) + var(--rail-room)));gap:12vw;margin:0;display:flex}.work.is-h .panel{width:calc(min(1320px, 100vw) - 2 * var(--gutter) - var(--rail-room));flex:none}.work.is-h .track-window{mask-image:linear-gradient(to right, #000 calc(100% - var(--gutter) - var(--rail-room)), transparent calc(100% - var(--gutter)))}}.gantt{background:var(--field);margin-bottom:clamp(56px,7vw,96px);padding-top:38px;font-size:.9rem;font-weight:600;position:relative}.gantt-years{position:absolute;inset:0}.gantt-years span{border-left:1px solid var(--soft);transform-origin:0 0;padding-left:6px;position:absolute;top:0;bottom:0}.gantt-row{padding-bottom:18px;position:relative}.gantt-label{white-space:nowrap;padding:0 0 5px 1px;display:inline-block;position:relative}.gantt-label span{color:var(--ink-2);margin-left:.5em;font-weight:500}.gantt-bar{background:var(--plum);transform-origin:0;height:18px}.roles{gap:56px;display:grid}.ruled{padding-top:24px;position:relative}.ruled:before{content:"";background:var(--ink);height:1.5px;transform:scaleX(var(--draw,1));transform-origin:0;position:absolute;inset:0 0 auto}.role h3 span{letter-spacing:0;margin-top:6px;font-size:1.0625rem;font-weight:600;font-stretch:100%;display:block}.when{color:var(--ink-2);margin:10px 0 20px;font-weight:600}.role li{max-width:60ch;padding-left:22px;position:relative}.role li+li{margin-top:12px}.role li:before{content:"";background:currentColor;width:7px;height:7px;position:absolute;top:.62em;left:0}@media (width>=900px){.roles{grid-template-columns:1fr 1fr;gap:0}.role{padding-right:56px}}.kitrow{border-top:1.5px solid var(--ink);gap:8px;padding-block:22px;display:grid}.kitrow:last-child{border-bottom:1.5px solid var(--ink)}.kitrow dt{font-size:1.1rem;font-weight:700;font-stretch:106%}.kitrow dd{max-width:62ch;font-size:clamp(1.1rem,1.65vw,1.45rem);font-weight:500;line-height:1.42}@media (width>=900px){.kitrow{grid-template-columns:2fr 4fr;align-items:baseline;gap:0;padding-block:26px}.kitrow dt{padding-right:32px}}.creds li{gap:6px;padding-bottom:24px;display:grid}.cred-who{color:var(--ink-2);font-weight:600}.cred-what{letter-spacing:-.015em;font-size:clamp(1.35rem,2.5vw,2.2rem);font-weight:700;font-stretch:106%;line-height:1.15}@media (width>=900px){.creds li{grid-template-columns:4fr 2fr;align-items:baseline;gap:0}.cred-what{padding-right:40px}}.contact{padding-bottom:0}.contact h2{max-width:15ch}.mail a{letter-spacing:-.01em;white-space:nowrap;transition:font-stretch .6s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% .06em no-repeat;padding-bottom:.1em;font-size:8vw;font-weight:800;font-stretch:75%;line-height:1.1;text-decoration:none;display:inline-block}@media (width>=900px){.mail a{letter-spacing:-.03em;font-size:clamp(2.6rem,5.2vw,4.75rem);font-stretch:100%}.mail a:hover{font-stretch:110%}}.reach{flex-wrap:wrap;gap:10px 32px;margin-top:36px;font-size:1.15rem;font-weight:600;display:flex}.reach a{text-underline-offset:.24em;text-decoration-thickness:2px}.aside{max-width:54ch;color:var(--ink-2);margin-top:28px}.foot{border-top:1.5px solid var(--plum);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(88px,10vw,144px);padding-block:22px 28px;font-size:.92rem;font-weight:600;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
