@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Inter:wght@300;400;500;600&family=Manrope:wght@300;400;500;600&display=swap";:root{color:#e9ece7;font-synthesis:none;--lime:#c8ff52;--muted:#999e98;--line:#ffffff24;background:#090a0a;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#090a0a;margin:0}body.is-animating{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1700px,100% - 96px);margin-inline:auto}.opening{z-index:9999;color:#0a0b0b;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.opening-panel{background:var(--lime);will-change:transform;width:100%;height:50.2%;position:absolute;left:0}.opening-panel--top{top:0}.opening-panel--bottom{bottom:0}.opening-core{z-index:2;width:min(740px,100% - 48px);position:relative}.opening-word{letter-spacing:-.08em;justify-content:center;align-items:center;height:clamp(66px,10vw,138px);font:500 clamp(66px,10vw,138px)/1 Manrope;display:flex;overflow:hidden}.opening-word span{will-change:transform;display:block;transform:translateY(115%)}.opening-word span:nth-child(2){font-weight:300}.opening-progress{grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin-top:36px;font:500 11px DM Mono;display:grid}.opening-line{transform-origin:0;background:#111;height:1px;transform:scaleX(0)}.opening-progress b{text-align:right;min-width:22px;font:500 11px DM Mono}.opening-progress small{font-size:9px}.hero{background:#111;height:100vh;min-height:760px;position:relative;overflow:hidden}.hero-video,.video-filter{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-video{filter:grayscale()contrast(1.15);opacity:.58}.video-filter{z-index:1;background:linear-gradient(90deg,#050707e0 0%,#05070747 65%,#05070785),linear-gradient(#0000 55%,#05070780)}.nav{z-index:3;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;display:flex;position:relative}.brand{letter-spacing:.04em;font:500 18px DM Mono}.brand span{color:var(--lime)}.nav-links{color:#ccd0cb;gap:42px;font-size:13px;display:flex}.nav-links a:hover{color:var(--lime)}.contact-pill{border:1px solid #ffffff7a;border-radius:30px;align-items:center;gap:14px;padding:12px 18px;font-size:13px;transition:all .25s;display:flex}.contact-pill:hover{background:var(--lime);color:#111;border-color:var(--lime)}.hero-content{z-index:2;padding-top:16vh;position:relative}.eyebrow{letter-spacing:.18em;align-items:center;gap:12px;font:400 11px DM Mono;display:flex}.eyebrow span{background:var(--lime);width:28px;height:1px}.hero h1{letter-spacing:-.065em;max-width:1450px;margin:32px 0 42px;font:500 clamp(64px,8.1vw,146px)/.88 Manrope}.hero-title-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.hero-title-line>span{will-change:transform;display:block}.hero h1 em{color:var(--lime);font-weight:300}.hero-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:end;padding-top:24px;display:flex}.hero-foot p{color:#b9bdb8;margin:0;font-size:14px;line-height:1.8}.scroll-link{letter-spacing:.1em;align-items:center;gap:12px;font:400 11px DM Mono;display:flex}.hero-index{z-index:2;writing-mode:vertical-rl;letter-spacing:.18em;color:#a7aaa6;font:400 10px DM Mono;position:absolute;top:50%;right:22px}.section{padding-block:150px}.section-head{border-bottom:1px solid var(--line);letter-spacing:.12em;justify-content:space-between;margin-bottom:80px;padding-bottom:18px;font:400 11px DM Mono;display:flex}.section-head span{color:var(--lime)}.section-head p{color:var(--muted);margin:0}.about-grid{grid-template-columns:minmax(320px,580px) 1fr;gap:clamp(70px,8vw,150px);display:grid}.portrait{aspect-ratio:4/5;background:linear-gradient(145deg,#262927,#0f1110);border:1px solid #262927;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portrait:before{content:"";filter:blur(2px);background:radial-gradient(circle at 50% 25%,#5d625c,#1a1d1b 65%);border-radius:48% 48% 20% 20%;width:70%;height:75%;position:absolute;bottom:-15%}.portrait-noise{opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}.portrait>span{letter-spacing:-.04em;z-index:1;color:#fffc;font:500 44px/.9 Manrope}.portrait small{color:var(--lime);z-index:2;font:10px DM Mono;position:absolute;bottom:24px;right:24px}.lead{letter-spacing:-.045em;margin:0 0 80px;font:300 clamp(30px,3.5vw,62px)/1.28 Manrope}.lead sup{color:var(--lime);font-size:16px}.lead span{color:var(--lime)}.bio-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:50px;padding-bottom:42px;display:grid}.bio-row p{color:#aeb2ad;margin:0;font-size:15px;line-height:1.9}.mini-info{color:var(--muted);gap:40px;padding:24px 0 65px;font:11px DM Mono;display:flex}.mini-info span,.mini-info a{align-items:center;gap:9px;display:flex}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.stats div{padding:28px 20px 0 0}.stats b{font:400 42px DM Mono;display:block}.stats span{color:var(--muted);font-size:11px}.projects{color:#111;background:#d9dcd6;width:100%;max-width:none;padding-inline:max(48px,50% - 850px)}.projects .section-head{border-color:#0003}.projects .section-head p{color:#555}.project-intro{justify-content:space-between;align-items:end;margin-bottom:90px;display:flex}.project-intro h2{letter-spacing:-.06em;margin:0;font:400 clamp(55px,6vw,104px)/.92 Manrope}.project-intro i{color:#60665f;font-weight:300}.project-intro p{color:#565b56;width:390px;line-height:1.8}.project-list{gap:100px;display:grid}.project-card{padding-bottom:5.5%;position:relative;overflow:hidden}.project-visual{will-change:transform,clip-path;background:#111;border-radius:2px;height:min(680px,52vw);position:relative;overflow:hidden}.project-visual:after{content:"";mix-blend-mode:screen;background:linear-gradient(120deg,#0000,#ffffff14,#0000);position:absolute;inset:0}.project-rain{background:radial-gradient(circle at 70%,#aac8be73,#0000 16%),linear-gradient(140deg,#0a1314,#58706b 60%,#172726)}.project-ai{background:radial-gradient(circle,#d6ff75 0 2%,#6c8f37 3%,#151912 25%,#050505 60%)}.project-data{background:repeating-linear-gradient(90deg,#0000 0 9.8%,#ffffff0f 10%),linear-gradient(160deg,#251f30,#242d33 50%,#050606)}.orb{aspect-ratio:1;border:1px solid #ffffff59;border-radius:50%;width:28%;position:absolute;top:28%;left:36%;box-shadow:0 0 80px #c8ff5226,inset 0 0 40px #ffffff14}.project-rain .orb{filter:blur(8px);background:#c8dcd21a;border-radius:0;width:45%;transform:rotate(12deg)}.project-data .orb{background:var(--lime);border:0;border-radius:0;width:65%;height:1px;top:50%;left:18%;box-shadow:0 -38px #9e73c7,0 41px #7298ad}.visual-label{z-index:2;letter-spacing:-.04em;color:#fff;font:300 clamp(30px,4vw,74px) Manrope;position:absolute;bottom:7%;left:5%}.visual-code{color:#ffffffa6;font:10px DM Mono;position:absolute;top:4%;right:3%}.project-meta{letter-spacing:.08em;color:#525752;border-bottom:1px solid #00000038;grid-template-columns:80px 1fr auto;padding:18px 0;font:10px DM Mono;display:grid}.project-body{grid-template-columns:1fr 1fr auto;align-items:start;gap:60px;padding-top:32px;display:grid}.project-body h3{letter-spacing:-.045em;margin:0;font:400 clamp(34px,4vw,70px) Manrope}.project-body p{color:#505550;max-width:520px;margin:7px 0 24px;line-height:1.75}.tags{gap:8px;display:flex}.tags span{border:1px solid #969b95;border-radius:20px;padding:6px 10px;font:10px DM Mono}.project-body button{background:0 0;border:1px solid #888;border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.strength-title{justify-content:space-between;align-items:end;margin-bottom:70px;display:flex}.strength-title h2{letter-spacing:-.065em;margin:0;font:400 clamp(65px,7vw,120px)/.82 Manrope}.strength-title h2 span{color:var(--lime);font-weight:300}.strength-title>p{width:360px;color:var(--muted);line-height:1.8}.strength-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.strength-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:390px;padding:24px;transition:all .3s;display:flex}.strength-grid article:hover{background:#121412}.strength-grid article>span{color:var(--muted);font:10px DM Mono}.strength-grid svg{color:var(--lime);margin:80px 0 40px}.strength-grid h3{margin:0 0 20px;font:400 25px Manrope}.strength-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.contact{background:var(--lime);color:#090a0a;flex-direction:column;height:100vh;min-height:760px;display:flex;overflow:hidden}.contact-inner{flex-direction:column;flex:1;padding-top:110px;display:flex}.contact .eyebrow span{background:#111}.contact h2{letter-spacing:-.07em;margin:7vh 0;font:500 clamp(72px,9vw,158px)/.83 Manrope}.contact h2 i{color:#58622f;font-weight:300}.contact-bottom{border-top:1px solid #00000059;justify-content:space-between;align-items:end;margin-top:auto;padding:28px 0 40px;display:flex}.contact-bottom p{font-size:14px;line-height:1.7}.big-mail{border-bottom:1px solid #111;align-items:center;gap:30px;padding-bottom:8px;font:400 clamp(22px,2.3vw,40px) Manrope;display:flex}.footer-bar{letter-spacing:.1em;border-top:1px solid #00000059;justify-content:space-between;align-items:center;height:80px;font:10px DM Mono;display:flex}.footer-bar a{align-items:center;gap:8px;display:flex}@media (width<=900px){.shell{width:calc(100% - 40px)}.nav-links{display:none}.hero{min-height:700px}.hero-content{padding-top:20vh}.hero h1{font-size:clamp(48px,13vw,90px)}.hero-foot{align-items:start}.about-grid,.bio-row,.stats{grid-template-columns:1fr}.project-intro,.strength-title,.contact-bottom{flex-direction:column;align-items:start;gap:32px}.project-intro p,.strength-title>p{width:auto}.project-body{grid-template-columns:1fr;gap:14px}.project-body button{position:absolute;bottom:0;right:0}.strength-grid{grid-template-columns:1fr 1fr}.contact h2{font-size:clamp(53px,13vw,100px)}.big-mail{font-size:20px}.section{padding-block:90px}.projects{padding-inline:20px}.project-visual{height:65vw;min-height:360px}}@media (width<=560px){.hero-foot p br,.scroll-link{display:none}.about-grid{gap:50px}.lead{margin-bottom:50px}.bio-row{gap:24px}.mini-info{flex-direction:column;gap:14px}.strength-grid{grid-template-columns:1fr}.strength-grid article{min-height:300px}.strength-grid svg{margin:45px 0 30px}.footer-bar span:nth-child(2){display:none}}.opening-progress{margin-top:0}.nav.nav--floating{-webkit-backdrop-filter:blur(18px)saturate(135%);z-index:100;background:#0a0b0ba8;border:1px solid #ffffff29;border-radius:14px;width:auto;height:72px;padding:0 22px;position:fixed;top:14px;left:max(48px,50vw - 850px);right:max(48px,50vw - 850px);box-shadow:0 16px 44px #00000038}.project-card{padding-bottom:0;overflow:visible}.project-visual{will-change:clip-path}.archive-page{color:#e9ece7;background:#090a0a;min-height:100vh}.archive-nav{border-bottom:1px solid var(--line);z-index:5;grid-template-columns:1fr auto 1fr;align-items:center;height:100px;display:grid;position:relative}.archive-nav>span{letter-spacing:.15em;color:var(--muted);font:10px DM Mono}.archive-back{border:1px solid #ffffff4d;border-radius:30px;justify-self:end;align-items:center;gap:12px;padding:11px 16px;font-size:12px;display:flex}.archive-hero{flex-direction:column;min-height:780px;padding-top:150px;display:flex}.archive-kicker{letter-spacing:.17em;align-items:center;gap:12px;font:10px DM Mono;display:flex}.archive-kicker i{background:var(--lime);width:28px;height:1px}.archive-hero h1{letter-spacing:-.075em;margin:70px 0 0;font:500 clamp(76px,10.5vw,180px)/.78 Manrope}.archive-title-line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.archive-title-line>span{display:block}.archive-dot{color:var(--lime)}.archive-summary{border-top:1px solid var(--line);justify-content:space-between;align-items:end;margin-top:auto;padding:24px 0 45px;display:flex}.archive-summary>span{color:var(--lime);letter-spacing:.13em;font:10px DM Mono}.archive-summary p{width:470px;color:var(--muted);margin:0;font-size:14px;line-height:1.8}.archive-content{padding:120px 0 160px}.archive-filter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:.09em;color:#737873;align-items:center;gap:38px;height:66px;font:10px DM Mono;display:flex}.archive-filter span:first-child{color:var(--lime)}.archive-filter b{color:#737873;margin-left:auto;font-weight:400}.archive-list{border-bottom:1px solid var(--line)}.archive-post{border-top:1px solid var(--line);grid-template-columns:70px 180px 1fr 120px 38px;align-items:center;gap:32px;min-height:210px;transition:background .35s,color .35s,padding .35s;display:grid;position:relative}.archive-post:first-child{border-top:0}.archive-post:hover{background:var(--lime);color:#0a0b0b;padding-inline:24px}.archive-number{color:#70756f;font:10px DM Mono}.archive-post-meta{color:#858a84;flex-direction:column;gap:12px;font:10px DM Mono;display:flex}.archive-post-copy h2{letter-spacing:-.035em;margin:0 0 14px;font:400 clamp(24px,2.2vw,40px) Manrope}.archive-post-copy p{color:#858a84;margin:0;font-size:13px}.archive-post:hover .archive-number,.archive-post:hover .archive-post-meta,.archive-post:hover .archive-post-copy p{color:#41452f}.archive-status{color:#858a84;font:10px DM Mono}.archive-arrow{width:21px}.archive-footer{border-top:1px solid var(--line);letter-spacing:.09em;color:#838882;justify-content:space-between;align-items:center;height:100px;font:10px DM Mono;display:flex}.archive-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(250px,360px) auto;align-items:center;gap:24px;min-height:86px;display:grid}.archive-tools>b{color:#737873;font:400 10px DM Mono}.archive-filter{border:0;gap:8px;height:auto}.archive-filter button{color:#737873;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:30px;padding:9px 13px;font:10px DM Mono}.archive-filter button:hover,.archive-filter button.active{border-color:var(--lime);color:var(--lime)}.archive-search{color:#777c76;border-bottom:1px solid #3c403c;align-items:center;gap:10px;height:42px;display:flex}.archive-search:focus-within{border-color:var(--lime);color:var(--lime)}.archive-search input{color:#e9ece7;background:0 0;border:0;outline:0;width:100%;font:12px Inter}.archive-search input::placeholder{color:#686d67}.archive-post{grid-template-columns:54px 170px 145px 1fr 100px 30px}.archive-thumb{background:#171918;height:112px;overflow:hidden}.archive-thumb img{object-fit:cover;filter:grayscale(.7);width:100%;height:100%;transition:transform .6s,filter .4s}.archive-post:hover .archive-thumb img{filter:grayscale(0);transform:scale(1.06)}.archive-empty{text-align:center;color:#777c76;padding:90px 0;font-size:13px}.post-page{color:#e9ece7;background:#090a0a;min-height:100vh}.post-nav{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;height:100px;display:grid}.post-nav>span{letter-spacing:.12em;color:#777c76;font:10px DM Mono}.post-nav .archive-back{justify-self:end}.post-header{padding:130px 0 90px}.post-header-meta{color:#858a84;letter-spacing:.12em;gap:22px;font:10px DM Mono;display:flex}.post-header-meta span:first-child{color:var(--lime)}.post-title{letter-spacing:-.065em;max-width:1300px;margin:55px 0 40px;font:500 clamp(58px,7.6vw,126px)/.93 Manrope}.post-header>p{color:#989d97;max-width:640px;margin-left:auto;font-size:16px;line-height:1.8}.post-cover{background:#161817;width:min(1860px,100% - 48px);height:min(780px,55vw);margin:0 auto;overflow:hidden}.post-cover img{object-fit:cover;width:100%;height:100%}.post-layout{grid-template-columns:220px minmax(0,800px);justify-content:center;gap:100px;padding:130px 0 170px;display:grid}.post-layout aside{color:#747973;letter-spacing:.1em;border-top:1px solid var(--line);padding-top:18px;font:10px DM Mono}.post-layout aside span{color:var(--lime)}.markdown-body{color:#bbc0ba;font-size:17px;line-height:1.9}.markdown-body h2{letter-spacing:-.04em;color:#eef0ec;margin:100px 0 30px;font:400 clamp(34px,4vw,58px)/1.1 Manrope}.markdown-body h2:first-child{margin-top:0}.markdown-body p{margin:0 0 30px}.markdown-body strong{color:var(--lime);font-weight:500}.markdown-body img{object-fit:cover;width:calc(100% + 180px);max-height:650px;margin:55px 0 55px -90px}.markdown-body blockquote{border-left:2px solid var(--lime);color:#e5e9e2;margin:55px 0;padding:10px 0 10px 32px;font:300 28px/1.55 Manrope}.markdown-body pre{border:1px solid var(--line);color:#d4f58c;background:#131514;padding:25px;font:13px/1.7 DM Mono;overflow:auto}.markdown-body li{margin-bottom:10px}.post-next{border-top:1px solid var(--line);justify-content:space-between;align-items:start;padding:55px 0 120px;display:flex}.post-next>span{color:#777c76;font:10px DM Mono}.post-next a{letter-spacing:-.04em;align-items:center;gap:25px;font:400 clamp(30px,4vw,62px) Manrope;display:flex}.post-not-found{text-align:center;place-content:center;gap:25px;display:grid}.post-not-found h1{margin:0;font:500 70px Manrope}.post-not-found a{color:var(--lime)}@media (width<=900px){.nav.nav--floating{padding-inline:16px;left:20px;right:20px}.archive-nav,.post-nav{grid-template-columns:1fr auto}.archive-nav>span,.post-nav>span{display:none}.archive-hero{min-height:680px;padding-top:120px}.archive-summary{flex-direction:column;align-items:start;gap:26px}.archive-summary p{width:auto}.archive-content{padding-block:80px}.archive-tools{grid-template-columns:1fr;gap:15px;padding:22px 0}.archive-filter{display:flex;overflow-x:auto}.archive-tools>b{display:none}.archive-search{width:100%}.archive-post{grid-template-columns:38px 92px 1fr 26px;gap:16px;padding:24px 0}.archive-thumb{grid-area:1/2/3;height:86px}.archive-post-meta{grid-area:1/3}.archive-post-copy{grid-area:2/3}.archive-post-copy p{display:none}.archive-number{grid-row:1/3}.archive-status{display:none}.archive-arrow{grid-area:1/4/3}.archive-post:hover{padding-inline:10px}.post-header{padding:90px 0 65px}.post-cover{width:100%;height:65vw;min-height:340px}.post-layout{grid-template-columns:1fr;gap:50px;padding:80px 0 110px}.post-layout aside{display:none}.markdown-body img{width:100%;margin:40px 0}.post-next{flex-direction:column;gap:40px;padding-bottom:80px}}.projects .section-head span{color:#344116;font-weight:500}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.opening,.hero-video{display:none}*{transition:none!important}}
