@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D_Q6m-an.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.OnFqUBEL.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.5PZORFv8.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAnEABMAAAAAEmwAAAldAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbglgcLj9IVkFSSgZgP1NUQVSBAgBwL2oRCAqJNIc/CxoAMIc0ATYCJAMwBCAFhyYHfQwHGw4QKB6FcZsTQlGEtq0ICYntNS4ens+r79zkJcWuD2PE/iNhCVeNtbJ2BnOBm36AingqNgXPWDpCqhak5lQshfptwMScqTgTcyDU7paMJvSGr1rtX/u1+h/Sb1FfxEMlZRKhnfhitojKnSOaGBrXaAzJkvkHz+ZVp5O0WUiE1Oxl2UjXTiaHHIsrKVdflsfPIUIObQZDkJEtakuKwcXXbn4HQW1XRzg6TbNhmGuunUaB+x5ddAO4H1imbgJ3LPhmUTlgL7oJrOFsJdm7hLrMneKA/32qVBNsFzMKqyoF1W2S1/6q42LcpjQx1RgPm8VGss3OWI1eturQvQAMyHwWsXWUDCVxFqWZXLE8qmuirItojXMIWVTzpnxxCmRKSYB5XUYYpoV0dR3N1S+kdyZwhY3kg5gJIWLuHbRtC7m4oILxsYdQ2U6ujuGubp7SAU4rKIamzcBFZOTsXtxsDAyY1ZB52Fv89GQ4rP9tt6b+Ww3qW2bKiYBcBkjLF0uAiVhCqAsMZYWxGIfuo1IjgI7RIgiRMuRDIMKTYFAWcyEvySKPc1aTKDJT/Oqti2zbrqUS1fKJEa42ZWhLoiCWHVMHchZ36nckGOm2tC+9RrebK9711rQ3veKinwcraYXw+GAbQOy9qa0DCnWlhpqmwEAMYegL/5xz4DSNcKm8EBFsox6Zz7kgGpErngOiGYlzrBGtKMg1oh0lOS/6omZ2TdERojIbANpgJDAFxEYgC5SyQp9MLrdPHkSQuyeU1wszMLoxyicPtPGLT2RfZGLNaCFDdEc2uyNbXc3uVucOiJMjr+BQj52nN2+GXfc1u/FvvPR59boiuq8I0bUHMFVSTyLfuKVr8toNWTPvvY67ao57NUthaXvkLogbdZ/cDd07T18W/uiO7puPth5/617o3lauf3vL63de24vZ3eo60q4z68nOfVWMbOEjRzNIYJovjWXb2CFcqHrTCYfxHHOdH3mx6LruW41baM7Vm2WezNmzveyW37k7av/RlNdirsxfFHvoVqhdka78yHII4qJ7XNhfd8++dV6hBNG9PuRgL0V8/3XU9tatLS51icm+UlheJeZEnaYxOlY7JQvLam3UKViKDZ2AJdiqSYykOIbzHAzDbNrZGNuW7of1Q32wPigMC6MohuoVfTFfiJp4Ykl+89mDnnfjQSe6GzVZj7Igem1KWeKgnHuqfBNrxPQwSU0MXi3JiFEqYyRyF50h4bi84chZYbtuhnHPgKd46ap7K+6VBhzDK8GxuPzexSmcU5KRh56Prn4/ZwxV2cHbXNe+RNw05Wq2NKhtAAUWl9NdQy2gCo7dGn9ocvb9+4FLut5i2G/m7vmx9si+x44d2e/Hmrv2fFvjopGjlcuv/WutTfuovEdg+R7HDno8Paj8IFkFzi8/0PqUVf0qDJcnBY6aa1UYKR0jZYxm5m7prl05Zo5sRZ9RGIXB/J8oitritOSdqa3I6hvbzPfPXLj03pQW86p1rXD/7EW550917jx4sjw3dmuP4s6k++dbMG1c/nJMX4aPzcmN710sNaKGBX83TJzOKZTifUu5OdP7kLn6wV9DBxYNp6zJ5TsPDZauTM0RUS+oIWXu7b+ozZdbntovD5ULE/lNw4m2AYlkc7+dK4X1xRQra52J+pLxopzsaYJsWjI+L6F/4/fP0zFKiQRIneJyCEJgPnuwEGAkkXIdhlnujq/DOYg4SoA2oG460LW+H165ILuZFkfAwUSsrlQCYUZvhNTcW/V2mTv3rNw5fBcsPXWrmxMRBxJg/PxwzCdPts+3gA2/qNb6i2w+fVKr81MwFCVhueXGZxV2TZ2+fbMXbJxR3InS4gNDAvtv1jCJLet0rM4YTUhGz1dZl2va08KLHgEHe4GcoIdS3jseNwJY6KdrO1jnPOo2W80zuTXsEGR2LvDINyWrNRbWOaya4zhoj9Y6ae0EsZuDF+aps3m1deyoaZg7Z9HyUXawW3K/JZUlHT++NM9H7+bD4wsyVd5bpoDPOmY4nWMs/p5xsMxxj3vSdVklVZiGnYsNOta/f5DScQUrofvqt97a1DUPrh1HmnMqqpKnUa/AvKMJ2Hj8OBi5wHGrw87I/5eE7WGxLgHbe8MJuHoy6GAJXWKWm2Pe4N5yVVG+UiFHZpbi7Gkzn/fDSdBumSu/fdvW0dpmbEo4FtGAgQIhW2fDHuOHvpiHaUvWjzKErWPK+W4uPsdL7+LN4Quz69AlW8R/u1zhDb8yFlY4WatmverCPBqaHtUzzab/Jn3RVjUhiH5rve8s7f8tS8xytVz/vCmZgLV30OhvzvYHDt2Hvp47EUUdbGsGboAcRSYG4b83ve1bJ3uPnsGTtd6tJe7W7089vCaMMsFSW63Jmoe6S2GSSeE5NC7P+f8fc6cqbu/8w/T0OJ7DF/9aC7cuiQO9efZ47su6/zjGq688eeXQJBhhjCnh/OZby2BJlwBDT+fx6vIrA/qMj2Czo8RiD+afZ+9GsuMaOhNguo1wfqutNXVUZlRUTEZOGOxfUbz/fErK+fNv/OTMS+BY3N+RZNZU1VV5lQPJiVUG8+DKtW/efvzW1Tf0Nr++fLj+9lcff/7qs8cDBFKvfBk04m6JE/6bNbP2IuCd21eOAOC9CdmLTS0mhs271hRQykDwlymmuaWGaRkAAmq3iyfhyXQUZj6aO9L8czijWA/P9wsfb4jtqVfWFsMhaNuTg+1YmirmAiPCl6qlBi6PdwWHqXEaZzpxN86tGNquSYkLo6Mal6YG6dGxdDjWDdqRcTgM9QFnmj4l+UChw0nbm7gw0GlcqnsQ1wy2sUt9eIBoGG0GbhqvHbeMlY/bJhLjPiOFyDr0OwQbKdOE1qxFlf7idVKjlSE1a1Cpa5s4frmqNKp9gXSoHFijUQE5E6+h0aAMXVCaWgMq6hUlpJUVJCNbNdEVMhWqGF7Dy64txAYWt6lAK2gLdUADtL1tgwGa0WoMlClB2sqtDwI5oU1e2qwJim8AATY+DT5YriTpkttt3PYr1zu6j8RqMrvQfHMUFxvHIC+jHFS1aEeyGKgjFSFVSnO9SPN5ZaKirl1EW0mtUaujGuW+tEKzxmtKVOvyM61UxndvHJcbjQFDrRYA1xW0MdWZYFg5mJGiiDJqUY9G2b87XdVeZSP797Gl1BVdVpqDa9l8UkoGi8dsNLIpKR/kFuKySf5uxDxyM2siAA==) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.C1zWlyYG.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.-KUh6X2k.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.CvPE_C53.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.D62tbE3i.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DWlqe-xm.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #121715;--surface: #1a211d;--surface-raised: #212a24;--text: #f0f0e8;--muted: #afb8ae;--accent: #d5e6b5;--line: #374139;font-family:Manrope Variable,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a{text-underline-offset:.25em}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}p{line-height:1.8;margin:0 0 1.2rem;color:var(--muted)}h1,h2,h3,h4{font-family:Space Grotesk Variable,sans-serif;font-weight:500;margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:clamp(2.6rem,5.5vw,5.1rem);line-height:1.12;letter-spacing:-.055em}h2{font-size:clamp(2rem,3.7vw,3.2rem);line-height:1.15;letter-spacing:-.045em}h3{font-size:1.7rem;letter-spacing:-.035em;line-height:1.25}h4{font-size:1rem}figure,dl{margin:0}dd{margin:0}img{display:block;max-width:100%;height:auto}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:.68rem;line-height:1.6;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin:0 0 1.25rem}.muted{color:var(--muted)}.accent{color:var(--accent)}.skip-link{position:fixed;z-index:50;background:var(--accent);color:var(--bg);left:1rem;top:1rem;padding:.8rem 1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:.8rem;font-family:Space Grotesk Variable,sans-serif;font-size:.9rem;font-weight:500}.monogram{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:1.1rem;letter-spacing:-.07em}.monogram span{color:var(--accent)}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.78rem}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 0;color:var(--muted);transition:color .2s}.site-header nav a:hover{color:var(--accent)}.site-header nav .nav-contact{color:var(--text)}.nav-contact span{margin-left:.5rem}.hero{padding-top:66px}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:40px}.hero-top .eyebrow{margin:0}.status-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin:0 8px 1px 0}.edition{color:var(--muted);font-size:.65rem;font-family:monospace}.hero h1 span{color:var(--accent)}.hero-bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:6rem;margin-top:40px;align-items:start}.hero-intro p{max-width:570px;font-size:.97rem}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:2rem;margin-top:25px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--accent);color:var(--bg);padding:1rem 1.3rem;font-size:.8rem;font-weight:700;border:1px solid var(--accent);transition:background .2s,transform .2s}.button:hover{background:#e4f2cb;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:1rem;font-size:.8rem;font-weight:600;width:fit-content}.text-link:hover{color:var(--accent);text-decoration:underline}.text-link span,.contact-links a span,.next-project>span>span{transition:transform .2s}.text-link:hover span,.contact-links a:hover span,.next-project:hover>span>span{transform:translate(2px,-2px)}.hero-note{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;border-left:1px solid var(--line);padding:2px 0 2px 2rem}.hero-note dt{color:var(--muted);font-size:.65rem;margin-bottom:.75rem}.hero-note dd{font-size:.77rem;line-height:1.9}.hero-note dd span{color:var(--muted);font-size:.65rem}.hero-note .grade{font-family:Space Grotesk Variable,sans-serif;font-size:2.25rem;color:var(--accent);line-height:1.1;letter-spacing:-.04em}.hero-note .grade span{font-size:1rem;color:var(--accent)}.hero-rule{display:flex;justify-content:space-between;align-items:center;margin-top:64px;padding:17px 0;border-block:1px solid var(--line);color:var(--muted);font-size:.65rem}.hero-rule a{padding:.3rem .5rem;font-size:1.2rem;color:var(--accent)}.section{padding-top:100px}.section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:40px}.section-heading>p{font-size:.8rem;margin-bottom:3px}.section-heading .eyebrow{margin-bottom:1rem}.project-feature{border:1px solid var(--line)}.project-image{display:block;background:#28312a;padding:24px 24px 0;overflow:hidden}.image-topline{display:flex;justify-content:space-between;font-size:.65rem;margin:0 0 18px;color:#d3dacf}.image-topline>span:last-child{color:var(--muted)}.project-image img{width:100%;border-radius:5px 5px 0 0;transition:transform .4s}.project-image:hover img{transform:translateY(-3px)}.image-caption{display:block;color:#bec7bc;font-size:.68rem;padding:12px 0}.project-info{display:grid;grid-template-columns:32px 1fr auto;gap:20px;padding:32px}.project-index{color:var(--accent);font-family:monospace;font-size:.72rem;padding-top:2px}.project-info .eyebrow,.secondary-info .eyebrow{font-size:.68rem;margin-bottom:.7rem}.project-info h3{font-size:1.9rem}.project-info h3 a:hover,.secondary-info h3 a:hover{color:var(--accent)}.project-info p:not(.eyebrow){font-size:.9rem;max-width:630px;margin-top:1rem}.project-cta{align-self:end;margin-bottom:4px;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:1.25rem 0 0;padding:0}.tags li{font-size:.68rem;padding:.35rem .6rem;border:1px solid var(--line);color:#c2ccbf;line-height:1.4}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.project-secondary{border:1px solid var(--line);display:flex;flex-direction:column}.project-visual{min-height:370px;background:var(--surface);display:flex;align-items:center;padding:32px;border-bottom:1px solid var(--line)}.secondary-info{padding:32px;flex:1;display:flex;flex-direction:column;align-items:start}.secondary-info h3{font-size:1.6rem}.secondary-info p:not(.eyebrow){font-size:.875rem;margin-top:1rem}.secondary-info .tags{margin-top:0;margin-bottom:1.8rem}.secondary-info .text-link{margin-top:auto}.calibration-chart{width:100%}.calibration-chart figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem;margin-bottom:1.6rem}.calibration-chart figcaption .eyebrow{font-size:.65rem;margin:0}.chart-subtitle{color:var(--muted);font-size:.68rem}.chart-scale{display:flex;justify-content:space-between;font-family:monospace;font-size:.65rem;color:var(--muted);margin-bottom:.8rem}.chart-label{display:flex;justify-content:space-between;gap:1rem;font-size:.68rem;margin:0 0 .4rem;color:var(--muted)}.chart-label strong{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}.chart-track{height:8px;width:100%;background:#2a332c}.chart-bar{height:100%}.chart-bar.before{background:#c2a58f}.chart-bar.after{background:var(--accent)}.chart-row+.chart-row{margin-top:1rem}.chart-note{font-size:.68rem;line-height:1.65;margin:1.2rem 0 0}.mobile-visual{flex-direction:column;justify-content:center;position:relative;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:24px 24px}.sync-diagram{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;margin-top:6px}.device{width:86px;height:154px;border:1px solid #82927c;border-radius:15px;background:#252f27;padding:9px;transform:rotate(-5deg);box-shadow:6px 8px #101610}.device.second{transform:rotate(5deg)}.device>span{display:block;height:3px;width:22px;background:#71826c;margin:0 auto 19px;border-radius:5px}.device-line{height:4px;width:55%;background:#71826c;margin-top:7px;border-radius:2px}.device-line.long{width:85%}.device-block{height:34px;margin-top:14px;border:1px solid #71826c;background:#d5e6b512;border-radius:3px}.sync-path{text-align:center}.sync-path>span{font-size:2.2rem;font-weight:400;color:var(--accent)}.sync-path i{display:block;height:1px;background:#71826c;width:65px;margin:4px auto 10px}.sync-path small{font-size:.65rem;line-height:1.6;color:var(--muted)}.diagram-caption{text-align:center;font-size:.65rem;margin:28px 0 0}.private-label{font-family:monospace;font-size:.68rem;color:var(--muted);margin-top:6px}.about{padding-bottom:95px;border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:90px}.about-copy p{font-size:.87rem}.about-copy .lead,.lead{font-size:1.15rem;color:var(--text);line-height:1.75}.about-copy .personal{border-top:1px solid var(--line);margin-top:1.7rem;padding-top:1.4rem;font-size:.78rem}.education{border:1px solid var(--line);padding:30px;background:var(--surface);align-self:start}.education-mark{display:block;font-family:monospace;color:var(--accent);font-size:.65rem;margin-bottom:2rem}.education .eyebrow{font-size:.68rem;margin-bottom:.75rem}.education h3{font-size:1.4rem;margin-bottom:.6rem}.education p{font-size:.78rem;margin-bottom:.25rem}.education-grade{border-block:1px solid var(--line);margin:1.5rem 0;padding:1.4rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.education-grade strong{font-family:Space Grotesk Variable,sans-serif;font-size:3.2rem;color:var(--accent);font-weight:400;letter-spacing:-.05em}.education-grade strong span{font-size:1.2rem}.education-grade>span{max-width:80px;font-size:.7rem;line-height:1.6;color:var(--muted)}.education .education-note{font-size:.65rem}.skills{margin-top:65px}.skills-intro{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:30px}.skills-intro h3{font-size:1.4rem}.skills-intro p{font-size:.7rem;margin:0}.skill-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:35px}.skill-group{padding-top:1.1rem;border-top:1px solid var(--line)}.skill-group h4{font-size:.68rem;color:var(--accent);margin-bottom:1.1rem}.skill-group ul{list-style:none;padding:0;margin:0}.skill-group li{font-size:.74rem;line-height:2.1;color:var(--muted)}.experience-row{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:35px 0;border-top:1px solid var(--line)}.experience-row .eyebrow{font-size:.68rem;color:var(--muted);margin-bottom:1rem}.experience-row h3{font-size:1.45rem;max-width:380px}.experience-row h4{font-size:.9rem;margin-bottom:.85rem}.experience-row p:not(.eyebrow){font-size:.875rem;margin:0}.contact{margin-top:85px;padding:60px 0 70px;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:5rem}.contact h2{font-size:clamp(2.6rem,5vw,4rem)}.contact p:not(.eyebrow){font-size:.8rem;margin-top:1.5rem}.contact-email{display:inline-flex;align-items:center;gap:1rem;font-size:clamp(.75rem,1.8vw,1.1rem);margin-top:.5rem;padding-bottom:8px;border-bottom:1px solid var(--accent);color:var(--accent);overflow-wrap:anywhere}.contact-links{align-self:end}.contact-links a{display:flex;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--line);font-size:.85rem}.contact-links a:hover{color:var(--accent)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-block:25px}.site-footer p,.site-footer>a:last-child{font-size:.68rem;color:var(--muted);margin:0}.site-footer .wordmark{font-size:.75rem;gap:0}.site-footer a:hover{color:var(--accent)}.case-study{padding-top:45px}.back-link{color:var(--muted);font-size:.72rem;margin-bottom:55px}.case-header h1{font-size:clamp(2.7rem,6vw,5rem);max-width:950px}.case-header .lead{max-width:780px;margin-top:25px;font-size:1.05rem;color:var(--muted)}.case-header .tags{margin-top:22px}.case-meta{display:flex;flex-wrap:wrap;gap:2.5rem;border-top:1px solid var(--line);margin-top:35px;padding:25px 0 40px}.case-meta dt{font-size:.68rem;color:var(--muted);margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.1em}.case-meta dd,.case-meta .text-link{font-size:.75rem}.case-screenshot{margin:0 0 30px}.case-screenshot img{width:100%;border:1px solid var(--line);border-radius:6px}.case-screenshot figcaption{font-size:.65rem;color:var(--muted);margin-top:10px;line-height:1.7}.case-body{display:grid;grid-template-columns:230px 1fr;gap:90px;margin-top:60px;align-items:start}.case-contents{position:sticky;top:30px}.case-contents .eyebrow{font-size:.68rem}.case-contents nav{display:flex;flex-direction:column;gap:1.1rem}.case-contents a{font-size:.72rem;color:var(--muted);line-height:1.5}.case-contents a:hover{color:var(--accent)}.case-prose section{margin-bottom:45px}.case-prose h2{font-size:1.8rem;margin-bottom:1.2rem}.case-prose p{font-size:.9rem;line-height:1.9}.case-prose .case-screenshot{margin-top:30px}.case-experiment{display:grid;grid-template-columns:1fr 1.25fr;gap:50px;padding:35px;background:var(--surface);border:1px solid var(--line)}.experiment-table table{width:100%;border-collapse:collapse;font-size:.68rem;font-variant-numeric:tabular-nums}.experiment-table caption{text-align:left;color:var(--accent);margin-bottom:20px;font-size:.7rem}.experiment-table th,.experiment-table td{text-align:right;padding:12px 4px;border-bottom:1px solid var(--line);font-weight:400}.experiment-table th:first-child{text-align:left}.experiment-table thead{color:var(--muted)}.experiment-table p{margin-top:15px;font-size:.68rem}.next-project{border-block:1px solid var(--line);padding:30px 0;margin:35px 0 75px;display:block}.next-project .eyebrow{display:block;font-size:.68rem}.next-project>span:last-child{display:flex;justify-content:space-between;gap:2rem;font-family:Space Grotesk Variable,sans-serif;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.04em}.next-project:hover{color:var(--accent)}.not-found{padding-block:100px;min-height:70vh}.not-found p:not(.eyebrow){max-width:540px;margin-top:25px}@media (min-width: 800px) and (prefers-reduced-motion: no-preference){.hero h1{animation:appear .65s ease-out both}.hero-bottom{animation:appear .65s .1s ease-out both}@keyframes appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media (max-width: 1000px){.wrap{width:calc(100% - 64px)}.hero-bottom{gap:2rem}.hero-note{grid-template-columns:1fr;gap:1.2rem}.project-info{grid-template-columns:24px 1fr}.project-cta{grid-column:2;margin-top:6px}.project-visual{padding:24px;min-height:370px}.secondary-info{padding:24px}.about-grid{gap:40px}.case-body{gap:40px;grid-template-columns:180px 1fr}.case-experiment{gap:30px;padding:25px}.sync-diagram{gap:15px}.device{width:70px;height:140px}}@media (max-width: 700px){.wrap{width:calc(100% - 40px)}.site-header{min-height:110px;padding-block:20px;flex-wrap:wrap;gap:15px}.wordmark{font-size:.8rem}.monogram{width:32px;height:32px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:.7rem}.site-header nav a{padding-block:6px}.hero{padding-top:38px}.hero-top{margin-bottom:28px}.hero-top .eyebrow{font-size:.57rem;letter-spacing:.06em}.edition{display:none}.hero h1{font-size:clamp(2.6rem,8.5vw,3.7rem);line-height:1.14}.hero-bottom{grid-template-columns:1fr;gap:30px;margin-top:25px}.hero-intro p{font-size:.88rem}.actions{gap:1.6rem}.hero-note{grid-template-columns:1.3fr 1fr;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.hero-note dt{margin-bottom:.5rem}.hero-note .grade{font-size:2.1rem}.hero-rule{margin-top:30px;font-size:.65rem;gap:1rem}.section{padding-top:65px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px}.desktop-break{display:none}.eyebrow{font-size:.68rem}.project-image{padding:12px 12px 0}.image-topline{font-size:.68rem;margin-bottom:12px}.image-topline>span:last-child{display:none}.image-caption{font-size:.68rem}.project-info{padding:22px;gap:12px;grid-template-columns:1fr}.project-index{display:none}.project-info h3{font-size:1.6rem}.project-info p:not(.eyebrow){font-size:.8rem}.project-cta{grid-column:1;margin-top:12px}.project-pair{grid-template-columns:1fr;gap:20px;margin-top:20px}.project-visual{min-height:370px;padding:26px}.sync-diagram{gap:25px}.device{width:80px;height:150px}.about{padding-bottom:60px}.about-grid{grid-template-columns:1fr;gap:25px}.about-copy .lead{font-size:1.1rem}.education{padding:25px}.education-mark{margin-bottom:1.5rem}.education-grade{margin-block:20px;padding-block:15px}.education-grade>span{max-width:none}.skills{margin-top:45px}.skills-intro{display:block}.skills-intro p{margin-top:12px}.skill-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.skill-group li{font-size:.7rem;line-height:2}.experience-row{grid-template-columns:1fr;gap:20px;padding-block:28px}.experience-row h3{font-size:1.35rem}.contact{margin-top:55px;padding-block:40px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact h2{font-size:2.8rem}.contact-email{font-size:.8rem;gap:10px}.contact-links{display:flex;gap:20px}.contact-links a{flex:1;font-size:.75rem;gap:10px}.site-footer{flex-wrap:wrap;gap:18px}.site-footer p{order:3;width:100%}.case-study{padding-top:30px}.back-link{margin-bottom:35px}.case-header h1{font-size:2.7rem}.case-header .lead{font-size:.9rem}.case-meta{gap:1.5rem;padding-bottom:25px}.case-meta dd{font-size:.7rem}.case-body{grid-template-columns:1fr;gap:30px;margin-top:35px}.case-contents{position:static;border-bottom:1px solid var(--line);padding-bottom:25px}.case-contents nav{flex-direction:row;flex-wrap:wrap;gap:12px 20px}.case-prose h2{font-size:1.6rem}.case-prose p{font-size:.85rem}.case-experiment{grid-template-columns:1fr;gap:35px;padding:22px}.next-project{margin-bottom:45px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.65rem;margin:-8px 0 16px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.legend-confidence{width:10px;height:6px;background:var(--accent)}.legend-accuracy{height:10px;width:2px;background:var(--text)}.chart-track{position:relative}.chart-bar.fine-tuned{background:#9ba892}.accuracy-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text)}.stage-accuracy{display:block;color:var(--muted);font-size:.65rem;text-align:right;margin-top:6px}.experiment-table{min-width:0}.experiment-table th,.experiment-table td{font-size:.68rem;padding-inline:3px}@media (max-width: 700px){.case-experiment{grid-template-columns:1fr}.experiment-table table{table-layout:fixed}.experiment-table th:first-child{width:29%}.experiment-table th,.experiment-table td{font-size:.65rem;overflow-wrap:anywhere}}
