@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}@font-face{font-family:Tilt Neon;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/tilt-neon-vietnamese-400-normal.DVcbiLqT.woff2)format("woff2"),url(/_astro/tilt-neon-vietnamese-400-normal.CHXG1pPV.woff)format("woff");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:Tilt Neon;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/tilt-neon-latin-ext-400-normal.DkcXjygi.woff2)format("woff2"),url(/_astro/tilt-neon-latin-ext-400-normal.t-URQN1M.woff)format("woff");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:Tilt Neon;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/tilt-neon-latin-400-normal.DUo0bAXn.woff2)format("woff2"),url(/_astro/tilt-neon-latin-400-normal.13Rx6b2L.woff)format("woff");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{--night:#05070d;--haze:#121a30;--ink:#e8edf7;--dim:#97a3c0;--line:#e8edf72e;--amber:#ffb347;--font:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--pad:clamp(1rem, 2.4vw, 2rem);--panel:min(44vw, 40rem)}*,:before,:after{box-sizing:border-box}*{margin:0}html{background:var(--night);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;color-scheme:dark;line-height:1.5}body{background:radial-gradient(120% 80% at 30% 60%, #1a2444 0%, var(--haze) 38%, var(--night) 100%) fixed;min-height:100vh}a{color:inherit;text-decoration:none}img,video{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand-name,.index-title,.panel-title,.panel-step strong,.project-title,.project-next strong,.project-before strong{text-transform:uppercase;font-weight:800;font-stretch:125%}.brand-role,.index-client,.index-n,.panel-n,.project-n,.project-facts dt,.project-next span,.project-before span,.gate-quality,.panel-step span,.about-block h3,.hint,.weather,.car-switch,.quality,.drive,.drive-hud,.media figcaption,.doc-size{letter-spacing:.03em;font-stretch:68%}.city{z-index:0;opacity:0;width:100%;height:100%;transition:opacity 1.2s;display:block;position:fixed;inset:0}.is-ready .city{opacity:1}.route{z-index:-1;height:calc((1.5 + var(--stops,0) * 1.7) * 100vh);position:relative}.route-rest{width:1px;height:1px;position:absolute;left:0}@media (pointer:coarse){html:not(.is-still,.is-plain){scroll-snap-type:y mandatory}.route{height:calc((1 + var(--stops,0) * .75) * 100vh)}.route-rest{scroll-snap-align:start;scroll-snap-stop:always}html:not(.is-still,.is-plain) body{touch-action:pan-y pinch-zoom}}body:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(270deg,#05070d9e,#0000);width:min(26rem,45vw);transition:opacity .4s;position:fixed;inset:0 0 0 auto}.has-open body:after,.is-still body:after{opacity:0}.top,.intro,.hint,.index,.weather,.car-switch,.quality,.drive,.drive-hud,.sign-hint{z-index:2;text-shadow:0 0 1px #000000e6,0 1px 14px #000000bf;position:fixed}.top{padding:var(--pad);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex;top:0;left:0;right:0}.top a,.top button{pointer-events:auto}.brand{gap:.1rem;display:grid}.brand-name{letter-spacing:.03em;font-size:1.0625rem}.brand-role{color:var(--dim);font-size:.9375rem}.top-nav{flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1.5rem;font-size:.9375rem;font-weight:500;display:flex}.top-nav a:hover,.index-link:hover .index-title,.contact-email:hover,.links a:hover{text-decoration:underline 2px var(--amber);text-underline-offset:.3em}.intro{text-wrap:balance;max-width:21ch;font-size:clamp(1.25rem,2.3vw,2.125rem);font-weight:500;line-height:1.18;display:none}.hint{left:50%;bottom:var(--pad);color:var(--dim);white-space:nowrap;font-size:.875rem;transition:opacity .5s;transform:translate(-50%)}.is-flying .hint,.has-open .hint{visibility:hidden;opacity:0}.weather{left:var(--pad);bottom:var(--pad);color:var(--dim);background:0 0;border:0;padding:.35rem 0;font-size:.875rem}.weather:hover{color:var(--ink)}.sound{background:0 0;border:0;align-items:center;height:1.5rem;padding:0 .15rem;display:inline-flex}.sound-bars{align-items:center;gap:2px;height:1rem;display:flex}.sound-bars i{background:var(--ink);width:2px;height:100%;transition:transform .25s;transform:scaleY(.14)}.sound:hover .sound-bars i{background:var(--amber)}.sound[aria-pressed=true] .sound-bars i{animation:1.5s ease-in-out infinite alternate breathe;transform:scaleY(.6)}.sound[aria-pressed=true] .sound-bars i:nth-child(2){animation-delay:-.5s}.sound[aria-pressed=true] .sound-bars i:nth-child(3){animation-delay:-1.1s}.sound[aria-pressed=true] .sound-bars i:nth-child(4){animation-delay:-.3s}.sound[aria-pressed=true] .sound-bars i:nth-child(5){animation-delay:-.8s}@keyframes breathe{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.car-switch{left:var(--pad);bottom:calc(var(--pad) + 3.8rem);color:var(--dim);background:0 0;border:0;padding:.35rem 0;font-size:.875rem}.car-switch:hover{color:var(--ink)}.quality{left:var(--pad);bottom:calc(var(--pad) + 5.7rem);color:var(--dim);background:0 0;border:0;padding:.35rem 0;font-size:.875rem}.quality:hover{color:var(--ink)}.plain-link{z-index:2;left:var(--pad);bottom:calc(var(--pad) + 8.5rem);border-bottom:1px solid var(--line);color:var(--dim);letter-spacing:.03em;text-shadow:0 1px 14px #000000bf;padding-bottom:.1rem;font-size:.875rem;font-stretch:68%;position:fixed}.plain-link:hover{border-color:var(--amber);color:var(--ink)}.is-still .plain-link,.is-plain .plain-link{display:none}.drive{left:var(--pad);bottom:calc(var(--pad) + 1.9rem);color:var(--dim);background:0 0;border:0;padding:.35rem 0;font-size:.875rem}.drive:hover,.is-driving .drive{color:var(--ink)}.drive-on,.is-driving .drive-off{display:none}.is-driving .drive-on{display:inline}.drive-hud{left:50%;bottom:var(--pad);width:min(44rem, 100vw - 2 * var(--pad) - 22rem);color:var(--dim);text-align:center;text-wrap:balance;pointer-events:none;gap:.3rem;font-size:.875rem;display:none;transform:translate(-50%)}.is-driving .drive-hud{display:grid}.drive-near{color:var(--ink)}.drive-near strong{color:var(--amber);font-weight:600}.drive-speed{font-variant-numeric:tabular-nums}@media (pointer:coarse){.drive-keys{display:none}}@media (pointer:fine){.drive-touch{display:none}}html.is-driving{overflow:hidden}.is-driving .city{touch-action:none}.is-driving .hint,.has-open .drive-hud,.is-still .drive,.is-still .drive-hud,.is-still .sign-hint{display:none}.sign-hint{left:50%;bottom:var(--pad);color:var(--ink);text-align:center;pointer-events:none;font-size:.9375rem;transform:translate(-50%)}.sign-hint[hidden],.note[hidden]{display:none}.note{left:var(--x,var(--pad));top:var(--y,40%);z-index:4;width:min(20rem, 100vw - 2 * var(--pad));background:#060912f0;border:1px solid #ffb3478c;border-radius:.5rem;gap:.35rem;padding:1rem 2.75rem 1rem 1.125rem;display:grid;position:fixed;box-shadow:0 0 22px #ffb34738}.note-name{text-transform:uppercase;letter-spacing:.03em;font-weight:800;font-stretch:125%}.note-text{color:var(--ink);font-size:.9375rem;line-height:1.42}.note-close{background:0 0;border:0;width:2rem;height:2rem;position:absolute;top:.5rem;right:.5rem}.note-close:before,.note-close:after{content:"";background:var(--ink);width:.8rem;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.note-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);background:#03050af2;border:0;margin:0;padding:clamp(1rem,4vw,3.5rem)}.lightbox[open]{place-items:center;display:grid}.lightbox::backdrop{background:#03050a99}.lightbox-stage{justify-items:center;gap:.75rem;margin:0;display:grid}.lightbox-stage img,.lightbox-stage video{object-fit:contain;width:auto;max-width:calc(100vw - 2*clamp(1rem,4vw,3.5rem));height:auto;max-height:calc(100dvh - 2*clamp(1rem,4vw,3.5rem) - 3rem)}.lightbox-stage figcaption{color:var(--dim);font-size:.875rem}.lightbox-close{top:var(--pad);right:var(--pad);border:1px solid var(--line);background:0 0;border-radius:50%;width:2.25rem;height:2.25rem;position:fixed}.lightbox-close:before,.lightbox-close:after{content:"";background:var(--ink);width:.875rem;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.lightbox-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.lightbox-close:hover{border-color:var(--amber)}.is-light .panel{backdrop-filter:none;background:#060912ed}.index{top:50%;right:var(--pad);padding-right:1.5rem;transition:opacity .4s,visibility .4s;transform:translateY(-50%)}.index:before{content:"";background:var(--line);width:1px;position:absolute;top:.5rem;bottom:.5rem;right:.25rem}.index-marker{background:var(--amber);width:.5625rem;height:.5625rem;transform:translateY(calc(var(--marker,0px) - 50%));border-radius:50%;position:absolute;top:0;right:0;box-shadow:0 0 12px 2px #ffb347b3}.index-list{gap:1.375rem;padding:0;list-style:none;display:grid}.index-link{color:var(--dim);text-align:right;grid-template-columns:auto auto;justify-content:end;column-gap:.75rem;transition:color .25s;display:grid}.index-n{font-variant-numeric:tabular-nums;grid-row:1/span 2;align-self:start;font-size:.8125rem;line-height:1.6}.index-title{letter-spacing:.04em;grid-column:2;font-size:.8125rem;line-height:1.3}.index-client{grid-column:2;font-size:.8125rem}.index-link:hover,.index-link.is-near,.index-link[aria-current=page]{color:var(--ink)}.index-link.is-near .index-n{color:var(--amber)}.has-open .index{visibility:hidden;opacity:0}.panel{z-index:3;width:var(--panel);padding:calc(var(--pad) + 2.5rem) var(--pad) var(--pad);overscroll-behavior:contain;border-left:1px solid var(--line);backdrop-filter:blur(18px);background:#060912d6;flex-direction:column;gap:1.75rem;animation:.55s cubic-bezier(.2,.8,.2,1) slide;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.panel[hidden]{display:none}@keyframes slide{0%{opacity:0;transform:translate(8%)}}.panel-head{gap:.5rem;display:grid}.panel-close{top:var(--pad);right:var(--pad);border:1px solid var(--line);border-radius:50%;width:2.25rem;height:2.25rem;position:absolute}.panel-close:before,.panel-close:after{content:"";background:var(--ink);width:.875rem;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.panel-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.panel-close:hover{border-color:var(--amber)}.panel-n{color:var(--amber);font-variant-numeric:tabular-nums;font-size:.9375rem}.panel-title{text-wrap:balance;overflow-wrap:anywhere;font-size:clamp(2rem,4.2vw,3.75rem);line-height:.95}.panel-summary,.prose.is-lead{font-size:1.1875rem;line-height:1.42}.prose{max-width:60ch}.prose p+p{margin-top:.9em}.prose strong{font-weight:700}.prose a{text-decoration:underline 1.5px var(--amber);text-underline-offset:.2em}.gallery{gap:1.25rem;display:grid}.media img,.media video{background:var(--haze);width:100%}.media audio{width:100%}.media figcaption{color:var(--dim);margin-top:.5rem;font-size:.875rem}.doc{border:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.875rem 1rem;display:grid}.doc:hover{border-color:var(--amber)}.doc-ext{text-transform:uppercase;font-weight:800;font-stretch:125%}.doc-name{overflow-wrap:anywhere;font-weight:500}.doc-size{color:var(--dim);font-size:.875rem}.panel-step{gap:.15rem;display:grid}.panel-step span{color:var(--dim);font-size:.875rem}.panel-step strong{letter-spacing:.04em;font-size:.875rem}.panel-step:hover strong{color:var(--amber)}.about-block{gap:.6rem;display:grid}.about-block h3{color:var(--dim);font-size:.875rem;font-weight:400}.tools{gap:.6rem;display:grid}.tools dt{font-weight:600}.tools dd{color:var(--dim);margin:0;font-size:.9375rem;line-height:1.4}.skills,.links{flex-wrap:wrap;gap:.5rem 1.25rem;padding:0;font-weight:500;list-style:none;display:flex}@media (width<=47.99rem){:root{--panel:100vw}.panel{border-top:1px solid var(--line);padding-top:calc(var(--pad) + 1rem);border-left:0;top:42vh}.hint{display:none}.weather{bottom:auto;top:calc(var(--pad) + 3.25rem)}.drive{bottom:auto;top:calc(var(--pad) + 5rem)}.car-switch{bottom:auto;top:calc(var(--pad) + 6.75rem)}.quality{bottom:auto;top:calc(var(--pad) + 8.5rem)}.plain-link{bottom:auto;top:calc(var(--pad) + 10.85rem)}.drive-hud{width:calc(100vw - 2 * var(--pad));bottom:calc(var(--pad) + 3.5rem)}.index{top:auto;bottom:var(--pad);left:var(--pad);padding:0;transform:none}.index:before,.index-marker{display:none}.index-list{scrollbar-width:none;gap:1.25rem;display:flex;overflow-x:auto}.index-link{text-align:left;white-space:nowrap;grid-template-columns:auto;justify-content:start}.index-n{grid-row:auto}.index-title,.index-client{grid-column:1}}:is(.is-still,.is-plain) .route{display:none}:is(.is-still,.is-plain) main{z-index:2;position:relative}:is(.is-still,.is-plain) .intro,:is(.is-still,.is-plain) .index{padding:var(--pad);position:static;transform:none}:is(.is-still,.is-plain) .intro{padding-top:7rem;display:block}:is(.is-still,.is-plain) .hint,:is(.is-still,.is-plain) .weather,:is(.is-still,.is-plain) .car-switch,:is(.is-still,.is-plain) .index:before,:is(.is-still,.is-plain) .index-marker,.is-still .sound,.no-gl .sound{display:none}.is-still.has-open .intro,.is-still.has-open .index{visibility:visible;opacity:1}.is-still .quality{z-index:2;margin:var(--pad);position:relative;bottom:auto;left:auto}:is(.is-still,.is-plain) .index-link{text-align:left;justify-content:start}@media (prefers-reduced-motion:reduce){.city,.hint,.index,.index-link,.gate,.gate-name,body:before{transition:none}.panel,.project,.gate-name{animation:none}}.gate{display:none}.has-gate .gate{z-index:3;min-height:100svh;padding:var(--pad);background:linear-gradient(90deg,#03050adb 0%,#03050a80 46%,#03050a0f 78%),linear-gradient(#0000 58%,#03050ab8);grid-template-rows:1fr auto auto;gap:clamp(1.25rem,3.5vh,2.5rem);padding-top:clamp(4rem,14vh,8rem);display:grid;position:relative}.has-gate{scroll-behavior:smooth}.plain-anchor{scroll-margin-top:4.5rem}.has-gate .hint,.has-gate .weather,.has-gate .car-switch,.has-gate .quality,.has-gate .plain-link,.has-gate .drive{visibility:hidden}.has-gate:not(.is-down) .brand,.has-gate:not(.is-down) .top-presentation,.has-gate.is-plain .marquee,.has-gate.is-plain .marquee-role,.has-gate.is-plain .blade,.has-gate.is-plain .intro{display:none}.has-gate:not(.is-down) .brand{visibility:hidden;display:grid}.gate-passed .top,.gate-passed .index,.gate-passed .weather,.gate-passed .car-switch,.gate-passed .quality,.gate-passed .plain-link,.gate-passed .drive,.gate-passed .hint{animation:1.4s 1s backwards come-back}@keyframes come-back{0%{opacity:0}}.gate-who{align-self:center;max-width:min(100%,62rem)}.gate-name{font-family:"Tilt Neon", var(--font);text-transform:uppercase;color:#ffd6a033;margin-left:-.04em;font-size:clamp(3.25rem,12.5vw,11.5rem);font-weight:400;line-height:.92;transition:color .3s}.is-ready .gate-name{color:#fff4e2;text-shadow:0 0 .03em #fff, 0 0 .1em var(--amber), 0 0 .32em #ffb347bf, 0 0 .9em #ff963273;animation:1.3s linear backwards strike}@keyframes strike{0%,16%{opacity:.22}18%,30%{opacity:1}32%,58%{opacity:.3}60%,to{opacity:1}}.gate-role{margin-top:1.1rem;font-size:clamp(1.0625rem,1.7vw,1.5rem);font-weight:700;font-stretch:125%}.gate-intro{max-width:34ch;color:var(--dim);text-wrap:pretty;margin-top:.6rem;font-size:clamp(1.0625rem,1.5vw,1.375rem);line-height:1.32}.gate-way{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;display:flex}.gate-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;display:flex}.gate-quiet{color:var(--dim);text-decoration:underline 1px var(--line);text-underline-offset:.3em;background:0 0;border:0;padding:.5rem 0;font-size:1rem}.gate-quiet:hover{color:var(--ink);text-decoration-color:var(--amber)}.gate-down{color:var(--ink);justify-self:center;justify-items:center;gap:.35rem;font-size:.9375rem;display:grid}.gate-down:after{content:"";border-right:1.5px solid var(--amber);border-bottom:1.5px solid var(--amber);width:.6rem;height:.6rem;transform:rotate(45deg)}.gate-down:hover{color:var(--amber)}.gate-start{border:2px solid var(--amber);color:#fff4e2;background:#05070d73;border-radius:999px;padding:1rem 1.75rem;font-size:1.1875rem;font-weight:600;transition:background .2s,box-shadow .2s;display:grid;box-shadow:0 0 14px #ffb34780,inset 0 0 12px #ffb34738}.gate-start>span{grid-area:1/1}.gate-start:hover,.gate-start:focus-visible{background:#ffb34729;box-shadow:0 0 26px #ffb347bf,inset 0 0 16px #ffb34752}.gate-wait,.gate.is-waiting .gate-go{visibility:hidden}.gate.is-waiting .gate-wait{visibility:visible}.gate-quality{min-width:0;color:var(--dim);border:0;padding:0;font-size:.9375rem}.gate-options{flex-wrap:wrap;align-items:baseline;gap:.25rem 1.25rem;display:flex}.gate-options label{cursor:pointer;padding:.2rem 0;position:relative}.gate-options input{opacity:0;position:absolute}.gate-options input:checked+span{color:var(--ink);text-decoration:underline 2px var(--amber);text-underline-offset:.3em}.gate-options label:hover span{color:var(--ink)}.gate-options input:focus-visible+span{outline:2px solid var(--amber);outline-offset:3px}.gate-note{min-height:1.5em;margin-top:.3rem}body:before{content:"";z-index:9;background:var(--night);opacity:0;pointer-events:none;transition:opacity .48s ease-in;position:fixed;inset:0}.is-leaving body:before{opacity:1}.is-page body{background:var(--night)}.is-page body:after{display:none}.is-page .top{z-index:3;position:absolute}.project{padding:0 var(--pad);grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(1.5rem,4vw,4rem);animation:.7s ease-out backwards emerge;display:grid}@keyframes emerge{0%{opacity:0}}.project-screen{min-height:100svh;padding-block:clamp(4.5rem, 10vh, 6rem) var(--pad);grid-area:1/2/span 2;place-items:center;display:grid;position:relative}.project-glow{object-fit:cover;opacity:.7;filter:blur(80px)saturate(2)brightness(1.7);pointer-events:none;width:96%;max-width:none;height:76%;position:absolute;inset:12% 2%}.project-cover{width:auto;max-width:100%;max-height:calc(100svh - clamp(4.5rem, 10vh, 6rem) - var(--pad));position:relative;box-shadow:0 0 0 1px #e8edf724}.project-head{grid-area:1/1;align-self:end;padding-top:clamp(6rem,20vh,12rem)}.project-n{color:var(--amber);font-variant-numeric:tabular-nums;font-size:.9375rem}.project-title{overflow-wrap:anywhere;text-wrap:balance;margin-top:.4rem;font-size:clamp(2.5rem,6.4vw,6.5rem);line-height:.95}.project-summary{max-width:38ch;margin-top:1.1rem;font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.38}.project-facts{padding-bottom:var(--pad);grid-area:2/1;grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;gap:1rem 1.5rem;margin-top:2rem;display:grid}.project-facts dt{color:var(--dim);font-size:.875rem}.project-facts dd{overflow-wrap:anywhere;margin:0;font-weight:500}.project-body{grid-column:1/-1;justify-items:center;gap:clamp(2.5rem,7vh,5rem);padding-block:clamp(3rem,12vh,7rem);display:grid}.project-body .prose{width:100%;max-width:60ch;font-size:1.1875rem;line-height:1.5}.project-body .gallery{gap:clamp(1.5rem,5vh,3.5rem);width:min(100%,76rem)}.project-body .media img{cursor:zoom-in}.project-foot{padding-block:2rem var(--pad);border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;display:flex}.project-next,.project-before{gap:.15rem;display:grid}.project-next span,.project-before span{color:var(--dim);font-size:.875rem}.project-next strong{font-size:clamp(1.75rem,5.4vw,5rem);line-height:1}.project-before{text-align:right}.project-before strong{letter-spacing:.04em;font-size:.875rem}.project-next:hover strong,.project-before:hover strong{color:var(--amber)}@media (width<=59.99rem){.project{grid-template-columns:minmax(0,1fr)}.project-screen{grid-area:auto/1;min-height:0;padding-top:5.5rem;padding-bottom:0}.project-cover{max-height:72svh}.project-head,.project-facts{grid-area:auto/1;padding-top:1.5rem}.gate-way{align-items:flex-start}}@media (width>=48rem){.has-open .top{right:var(--panel)}}@media (width<=47.99rem){.note{top:auto;left:var(--pad);right:var(--pad);bottom:calc(var(--pad) + 4.5rem);width:auto}.sign-hint{bottom:calc(var(--pad) + 3.75rem);width:calc(100vw - 2 * var(--pad))}}@media (width<=34rem){.top{gap:.75rem}.top-nav{white-space:nowrap;flex-wrap:nowrap;gap:.75rem;font-size:.875rem}.is-page .top-nav{flex-wrap:wrap}.brand{flex:none}}.street,.rain,.wire,.marquee,.marquee-role,.blade,.index-cover,.toolbox,.no-gl .city{display:none}.is-plain .street{z-index:0;width:100%;height:100%;opacity:var(--plain,1);display:block;position:fixed;inset:0}.is-plain .top{z-index:4;background:linear-gradient(to bottom, rgb(4 5 12/calc(.92 * var(--plain,1))), transparent)}.is-plain body:after{width:auto;opacity:var(--plain,1);background:linear-gradient(90deg,#04050ce0 0%,#04050c9e 44%,#04050c1f 80%);inset:0}.is-plain .rain{z-index:1;opacity:var(--plain,1);pointer-events:none;background-image:repeating-linear-gradient(101deg,#0000 0 46px,#aac3ff1a 46px 47px,#0000 47px 91px),repeating-linear-gradient(101deg,#0000 0 73px,#ffaad212 73px 74px,#0000 74px 151px);background-size:100% 240px,100% 380px;animation:.9s linear infinite downpour;display:block;position:fixed;inset:-20% -10%;mask-image:repeating-linear-gradient(#000 0 34px,#0000 34px 110px)}@keyframes downpour{to{transform:translate(-21px,110px)}}.is-plain main{grid-template-columns:minmax(0,1fr);padding-bottom:3rem;display:grid}.is-plain .wire{background:#04050adb;border-block:1px solid #ffb34747;order:-2;margin-top:6.25rem;display:block;overflow:hidden}.wire p{width:max-content;color:var(--amber);letter-spacing:.08em;white-space:pre;text-shadow:0 0 10px #ffa032cc;padding-block:.45rem;font-size:.9375rem;font-weight:700;font-stretch:80%;animation:60s linear infinite wire;display:flex}@keyframes wire{to{transform:translate(-50%)}}.is-plain .marquee{padding:clamp(2rem, 7vh, 4.5rem) var(--pad) 0;font-family:"Tilt Neon", var(--font);text-transform:uppercase;color:#fff1f8;text-shadow:0 0 .03em #fff,0 0 .1em #ff4fb0,0 0 .32em #ff3caacc,0 0 .95em #be28ff80;order:-1;margin-left:-.04em;font-size:clamp(3.25rem,12.5vw,11.5rem);line-height:.92;animation:1.3s linear backwards strike;display:block}.is-plain .marquee-role{padding:.9rem var(--pad) 0;color:#8fe9ff;text-shadow:0 0 14px #64dcffa6;order:-1;font-size:clamp(1.0625rem,1.7vw,1.5rem);font-weight:700;font-stretch:125%;display:block}.is-plain .intro{max-width:34ch;padding:.7rem var(--pad) 0;color:var(--ink);order:-1;font-size:clamp(1.0625rem,1.5vw,1.375rem);font-weight:400;line-height:1.32}.is-plain .blade{top:10.5rem;right:var(--pad);z-index:1;color:#d8f6ff;font-family:"Tilt Neon", var(--font);text-transform:uppercase;text-orientation:upright;writing-mode:vertical-rl;text-shadow:0 0 10px #4fd2ff;background:#04060edb;border:1px solid #7fe0ff80;padding:.7rem .45rem;font-size:clamp(.95rem,2vh,1.25rem);line-height:1.12;display:block;position:fixed;box-shadow:0 0 22px #4fd2ff4d}.is-plain .index{padding:clamp(2.5rem, 8vh, 4.5rem) var(--pad) 0;max-width:76rem}.is-plain .index-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:2.75rem 2rem}.is-plain .index-link{text-align:left;color:var(--ink);grid-template-columns:auto 1fr;align-items:baseline;gap:.15rem .6rem;display:grid}.is-plain .index-n{color:var(--tube);grid-row:auto}.is-plain .index-title{font-family:"Tilt Neon", var(--font);letter-spacing:.02em;color:#fff;text-shadow:0 0 8px var(--tube), 0 0 22px var(--tube);grid-column:2;font-size:1.625rem;font-weight:400;font-stretch:100%;line-height:1.1}.is-plain .index-link:hover .index-title{text-decoration:none}.is-plain .index-client{color:var(--dim);grid-column:2}.is-plain .index-cover{aspect-ratio:4/3;object-fit:cover;border:2px solid var(--tube);width:100%;box-shadow:0 0 10px var(--tube), 0 0 36px color-mix(in srgb, var(--tube) 45%, transparent);filter:brightness(.88)saturate(1.1);background:#05070d;border-radius:2px;grid-area:3/1/auto/-1;margin-top:.6rem;transition:filter .25s,box-shadow .25s;display:block}.is-plain .index-link:hover .index-cover,.is-plain .index-link:focus-visible .index-cover{filter:none;box-shadow:0 0 16px var(--tube), 0 0 64px var(--tube)}.is-plain .toolbox{max-width:76rem;padding:clamp(3rem, 9vh, 5rem) var(--pad) 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.75rem 2rem;list-style:none;display:grid}.toolbox li{grid-template-columns:auto 1fr;align-content:start;column-gap:.9rem;display:grid}.toolbox-mark{border:2px solid var(--tube);width:3.75rem;height:3.75rem;font-family:"Tilt Neon", var(--font);color:#fff;text-shadow:0 0 10px var(--tube);box-shadow:0 0 10px var(--tube), inset 0 0 8px color-mix(in srgb, var(--tube) 50%, transparent);border-radius:.6rem;grid-row:1/span 2;place-items:center;font-size:1.625rem;display:grid}.toolbox strong{text-transform:uppercase;letter-spacing:.03em;font-weight:800;font-stretch:125%}.toolbox li>span:last-child{color:var(--dim);font-size:.9375rem;line-height:1.4}.is-plain .quality{color:var(--ink)}@media (width<=47.99rem){.is-plain .blade{display:none}.is-plain .index-list{display:grid;overflow:visible}.is-plain .index-link{white-space:normal}}@media (prefers-reduced-motion:reduce){.is-plain .rain,.wire p,.is-plain .marquee{animation:none}.is-plain .wire{overflow-x:auto}}
