.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@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+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: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+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: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+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(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/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{--bg: #0a0a0b;--bg-2: #101113;--bg-3: #17181b;--fg: #f2f2ef;--fg-2: #c9c9c4;--muted: #8d8d88;--line: rgba(255, 255, 255, .09);--line-2: rgba(255, 255, 255, .16);--accent: #c8ff5a;--accent-ink: #0b0f02;--orange: #ff5a1f;--font-display: "Archivo Variable", "Archivo", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter: clamp(20px, 4vw, 64px);--radius: 4px;--ease: cubic-bezier(.22, 1, .36, 1);--nav-h: 72px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-display);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;font-feature-settings:"ss01","cv11"}body.nav-open{overflow:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.035) 1px,transparent 1px);background-size:96px 96px;mask-image:radial-gradient(ellipse at 50% 0%,#000000e6,#00000040 70%)}body:after{content:"";position:fixed;inset:-50%;z-index:9990;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}50%{transform:translate(-3%,2%)}to{transform:translate(2%,-3%)}}img,svg,video{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}main{position:relative;z-index:1}.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}.mono b{color:var(--fg);font-weight:500}.mono .acc{color:var(--accent)}.display{font-family:var(--font-display);font-weight:700;font-stretch:112%;letter-spacing:-.035em;line-height:.92;text-wrap:balance}.h-xxl{font-size:clamp(64px,12vw,200px)}.h-xl{font-size:clamp(48px,8vw,128px)}.h-l{font-size:clamp(36px,5.2vw,84px)}.h-m{font-size:clamp(28px,3.4vw,52px);letter-spacing:-.03em;line-height:1}.h-s{font-size:clamp(20px,2vw,28px);letter-spacing:-.02em;line-height:1.1;font-weight:600;font-stretch:100%}.lead{font-size:clamp(18px,1.6vw,24px);line-height:1.4;color:var(--fg-2);letter-spacing:-.01em;text-wrap:pretty}.body{font-size:clamp(15px,1.05vw,17px);line-height:1.6;color:var(--fg-2);max-width:64ch;text-wrap:pretty}.body+.body{margin-top:1em}.dim{color:var(--muted)}.wrap{padding-inline:var(--gutter);max-width:1680px;margin-inline:auto}.section{padding-block:clamp(72px,10vw,160px);position:relative}.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:clamp(32px,4vw,64px)}.rule{border:0;border-top:1px solid var(--line);margin:0}.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,32px)}.marks{position:relative}.marks:before,.marks:after{content:"";position:absolute;width:14px;height:14px;border-color:var(--line-2);border-style:solid;pointer-events:none}.marks:before{top:0;left:0;border-width:1px 0 0 1px}.marks:after{bottom:0;right:0;border-width:0 1px 1px 0}.eyebrow{display:flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--accent)}.btn{--pad: 18px;position:relative;display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 var(--pad) 0 22px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;border:1px solid var(--line-2);border-radius:999px;color:var(--fg);transition:border-color .3s var(--ease),color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease);overflow:hidden;isolation:isolate;will-change:transform}.btn .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);transition:transform .4s var(--ease)}.btn:before{content:"";position:absolute;inset:0;background:var(--accent);border-radius:inherit;transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}.btn:hover{color:var(--accent-ink);border-color:var(--accent)}.btn:hover:before{transform:translateY(0)}.btn:hover .dot{background:var(--accent-ink);transform:scale(1.4)}.btn.solid{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.solid:before{background:var(--fg)}.btn.solid .dot{background:var(--accent-ink)}.btn.solid:hover{color:var(--bg);border-color:var(--fg)}.btn svg{width:14px;height:14px}.link-u{position:relative;display:inline-block}.link-u:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.link-u:hover:after{transform:scaleX(1);transform-origin:left}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d, 0ms)}[data-reveal].is-in{opacity:1;transform:none}[data-split] .w{display:inline-block;overflow:hidden;vertical-align:bottom}[data-split] .w>span{display:inline-block;transform:translateY(110%);transition:transform 1s var(--ease);transition-delay:calc(var(--i) * 40ms)}[data-split].is-in .w>span{transform:none}[data-lines] .l{display:block;overflow:hidden}[data-lines] .l>span{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--i) * 90ms)}[data-lines].is-in .l>span{transform:none}.img-reveal{overflow:hidden}.img-reveal img{transform:scale(1.12);transition:transform 1.4s var(--ease)}.img-reveal.is-in img{transform:none}@media(prefers-reduced-motion:reduce){[data-reveal],[data-split] .w>span,[data-lines] .l>span,.img-reveal img{opacity:1!important;transform:none!important;transition:none!important}body:after{animation:none}.marquee-track{animation:none!important}}.cursor{position:fixed;top:0;left:0;z-index:10000;pointer-events:none;mix-blend-mode:difference}.cursor .ring{position:absolute;top:-18px;left:-18px;width:36px;height:36px;border:1px solid #fff;border-radius:50%;transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s}.cursor .dotc{position:absolute;top:-2px;left:-2px;width:4px;height:4px;border-radius:50%;background:#fff}.cursor .label{position:absolute;top:-6px;left:-18px;width:36px;text-align:center;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:#000;opacity:0;transition:opacity .2s}.cursor.is-link .ring{transform:scale(1.5)}.cursor.is-view .ring{transform:scale(2.4);background:#fff}.cursor.is-view .label{opacity:1}.cursor.is-view .dotc,.cursor.is-hidden{opacity:0}@media(hover:none),(pointer:coarse){.cursor{display:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-inline:var(--gutter);mix-blend-mode:difference;color:#fff;transition:transform .5s var(--ease)}.nav.is-hidden{transform:translateY(-100%)}.nav .brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-stretch:112%;letter-spacing:-.03em;font-size:20px}.nav .brand img{width:26px;height:26px}.nav .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;text-align:center}.nav .links{display:flex;justify-content:flex-end;gap:28px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.nav .links a{position:relative;padding:6px 0;opacity:.75;transition:opacity .3s}.nav .links a:hover,.nav .links a[aria-current]{opacity:1}.nav .links a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.nav .links a:hover:after,.nav .links a[aria-current]:after{transform:scaleX(1);transform-origin:left}.nav .burger{display:none;width:44px;height:44px;justify-self:end;position:relative}.nav .burger span{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;top:50%;transition:transform .4s var(--ease),opacity .3s}.nav .burger span:first-child{transform:translateY(-4px)}.nav .burger span:last-child{transform:translateY(4px)}.nav-open .nav .burger span:first-child{transform:rotate(45deg)}.nav-open .nav .burger span:last-child{transform:rotate(-45deg)}.menu{position:fixed;inset:0;z-index:900;background:var(--bg);display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--nav-h) + 24px) var(--gutter) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease)}.nav-open .menu{clip-path:inset(0 0 0 0)}.menu a.big{display:block;font-size:clamp(44px,12vw,96px);line-height:1;font-weight:700;font-stretch:112%;letter-spacing:-.04em;padding:6px 0;border-bottom:1px solid var(--line);transform:translateY(40px);opacity:0;transition:transform .7s var(--ease),opacity .7s;transition-delay:calc(var(--i) * 60ms + .2s)}.nav-open .menu a.big{transform:none;opacity:1}.menu .foot{display:flex;justify-content:space-between;margin-top:32px}@media(max-width:900px){.nav{grid-template-columns:1fr auto}.nav .tag,.nav .links{display:none}.nav .burger{display:block}}.footer{position:relative;z-index:1;border-top:1px solid var(--line);background:var(--bg);overflow:hidden}.footer .cta{padding-block:clamp(72px,12vw,180px)}.footer .cta .big{font-size:clamp(48px,9vw,140px);line-height:.9}.footer .cta .big a{display:inline-block;transition:color .3s}.footer .cta .big a:hover{color:var(--accent)}.footer .meta{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-block:40px;border-top:1px solid var(--line)}.footer .meta ul li+li{margin-top:8px}.footer .meta a:hover{color:var(--accent)}.footer .bottom{display:flex;justify-content:space-between;gap:24px;padding-block:24px 32px;border-top:1px solid var(--line);flex-wrap:wrap}.footer .watermark{position:absolute;right:-2vw;bottom:-4vw;font-size:28vw;font-weight:700;font-stretch:125%;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);pointer-events:none;user-select:none}@media(max-width:900px){.footer .meta{grid-template-columns:1fr 1fr}}.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:18px;white-space:nowrap}.marquee-track{display:inline-flex;gap:48px;animation:marquee 40s linear infinite;will-change:transform}.marquee-track span{display:inline-flex;align-items:center;gap:48px;font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}.marquee-track span i{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block}@keyframes marquee{to{transform:translate(-50%)}}.card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;background:var(--bg-2);border:1px solid var(--line)}.card .media{position:relative;overflow:hidden;aspect-ratio:4 / 3;background:var(--bg-3)}.card .media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.1s var(--ease),filter .6s var(--ease)}.card:hover .media img{transform:scale(1.07)}.card .media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,11,.55),transparent 45%);opacity:.8;transition:opacity .5s}.card .meta{position:absolute;inset:auto 0 0;padding:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.card .title{font-size:clamp(20px,1.8vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.05}.card .idx{position:absolute;top:16px;left:18px}.card .yr{position:absolute;top:16px;right:18px}.card .arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none;background:#0a0a0b66;backdrop-filter:blur(8px);transition:background .4s var(--ease),border-color .4s,transform .5s var(--ease)}.card .arrow svg{width:14px;height:14px;transition:transform .5s var(--ease)}.card:hover .arrow{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.card:hover .arrow svg{transform:translate(2px,-2px)}.card .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.card .tags span{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--line-2);border-radius:999px;color:var(--fg-2)}.card.tall .media{aspect-ratio:3 / 4}.card.wide .media{aspect-ratio:16 / 9}.card.sq .media{aspect-ratio:1}.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.spec>div{padding:16px 18px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.spec .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.spec .v{font-size:15px;color:var(--fg);letter-spacing:-.01em}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,24px);align-items:start}.gallery figure{border-radius:var(--radius);overflow:hidden;background:var(--bg-2);border:1px solid var(--line)}.gallery figure img{width:100%;height:auto;display:block}.gallery .g-12{grid-column:span 12}.gallery .g-8{grid-column:span 8}.gallery .g-6{grid-column:span 6}.gallery .g-4{grid-column:span 4}.gallery .g-3{grid-column:span 3}@media(max-width:900px){.gallery .g-8,.gallery .g-6,.gallery .g-4,.gallery .g-3{grid-column:span 6}}@media(max-width:560px){.gallery .g-8,.gallery .g-6,.gallery .g-4,.gallery .g-3{grid-column:span 12}}.lightbox{position:fixed;inset:0;z-index:5000;background:#060607f0;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .4s;padding:5vh 5vw}.lightbox.is-open{opacity:1;pointer-events:auto}.lightbox img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:4px}.lightbox .close{position:absolute;top:20px;right:24px;width:48px;height:48px;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center}.lightbox .count{position:absolute;bottom:20px;left:24px}.lightbox .nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center}.lightbox .prev{left:20px}.lightbox .next{right:20px}.tile{position:relative;border:1px solid var(--line);border-radius:6px;background:var(--bg-2);overflow:hidden;padding:28px;display:flex;flex-direction:column;gap:20px;min-height:420px;transition:border-color .4s var(--ease),transform .5s var(--ease);isolation:isolate}.tile:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%),var(--glow, rgba(200,255,90,.18)),transparent 40%);opacity:0;transition:opacity .5s;z-index:-1}.tile:hover{border-color:var(--line-2);transform:translateY(-4px)}.tile:hover:before{opacity:1}.tile .icon{width:56px;height:56px;border-radius:14px;overflow:hidden}.tile .status{display:inline-flex;align-items:center;gap:8px}.tile .status i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 #c8ff5a99;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #c8ff5a80}70%{box-shadow:0 0 0 10px #c8ff5a00}to{box-shadow:0 0 #c8ff5a00}}.tile .shot{margin-top:auto;border-radius:8px;overflow:hidden;border:1px solid var(--line);transform:translateY(12px);transition:transform .6s var(--ease);height:260px}.tile .shot img{width:100%;height:100%;object-fit:cover;object-position:top}.tile .shot.phone{border:0;background:none;border-radius:0;height:300px;overflow:hidden}.tile .shot.phone img{object-fit:cover;object-position:top center;width:62%;margin:0 auto;border-radius:34px 34px 0 0}.tile .shot.contain{border:0;background:none;height:280px}.tile .shot.contain img{object-fit:contain;object-position:center top}.tile:hover .shot{transform:translateY(0)}.num{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.pill.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.hr-lab{display:flex;align-items:center;gap:16px}.hr-lab:after{content:"";flex:1;height:1px;background:var(--line)}.prose p{margin:0 0 1em;color:var(--fg-2);line-height:1.7;max-width:72ch}.prose h2{font-size:22px;letter-spacing:-.02em;margin:2.2em 0 .8em;font-weight:600}.prose h3{font-size:17px;margin:1.6em 0 .6em;font-weight:600}.prose ul{list-style:disc;padding-left:1.2em;color:var(--fg-2);margin-bottom:1em}.prose li{margin-bottom:.4em;max-width:70ch}.prose a{color:var(--accent)}::view-transition-old(root){animation:vt-out .35s var(--ease) both}::view-transition-new(root){animation:vt-in .55s var(--ease) both}@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(14px)}}.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:1001;transform-origin:left;transform:scaleX(0);background:var(--accent);mix-blend-mode:normal}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
