@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(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:TJ Mono;src:url(/fonts/tj-mono.woff2)format("woff2");font-weight:200 700;font-display:swap}:root{--bg:#000;--s1:#090909;--s2:#111;--s3:#1b1b1b;--line:#2c2c2c;--line2:#555;--t1:#f2f2f2;--t2:#cfcfcf;--t3:#9c9c9c;--red:#ff5c62;--mono:"TJ Mono",ui-monospace,monospace;--glow:0 0 0 1px #ffffffd9,0 0 16px #ffffff4d,0 0 40px #ffffff1a;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.18,.82,.2,1.08);--calm:cubic-bezier(.25,.9,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}body{background:var(--bg);color:var(--t1);font:15px/1.6 var(--mono);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,a{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;text-decoration:none}img{display:block}.ph{object-fit:cover;width:100%;height:100%}svg.i{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}#bg{z-index:0;pointer-events:none;position:fixed;inset:0}.page{z-index:1;position:relative}.b2{letter-spacing:.14em;text-transform:uppercase;color:var(--t2);align-items:center;gap:12px;padding:8px 0;font-size:12.5px;font-weight:700;transition:color .2s;display:inline-flex;position:relative}.b2:after{content:"";transform-origin:0;height:1.5px;transition:transform .45s var(--ease);background:#fff;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.18);box-shadow:0 0 8px #fff}.b2 svg{transition:transform .4s var(--spring)}.b2:hover{color:#fff}.b2:hover:after{transform:scaleX(1)}.b2:hover svg{transform:translate(6px)}.x1{width:46px;height:46px;color:var(--t1);backdrop-filter:blur(18px);transition:outline-color .25s, box-shadow .25s, transform .3s var(--spring), color .2s;background:#0e0e0ed1;border-radius:50%;place-items:center;display:grid;position:relative}.x1:hover{color:#fff;box-shadow:var(--glow);transform:rotate(90deg)}.chips{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.k1{color:var(--t2);outline-offset:2px;white-space:nowrap;border-radius:999px;outline:1px solid #3a3a3a;padding:5px 14px 5px 12px;font-size:12.5px;transition:box-shadow .25s,color .2s,outline-color .25s}.k1:before{content:"#";color:var(--t3);margin-right:2px}.k1:hover{color:#fff;outline-color:#fff;box-shadow:0 0 14px #ffffff40}span.k1{cursor:default}.contacts{gap:12px;display:flex}.c4{height:48px;color:var(--t2);border-radius:999px;align-items:center;padding:0 15px;transition:box-shadow .35s,color .25s;display:flex}.c4 span{opacity:0;white-space:nowrap;max-width:0;transition:max-width .55s var(--calm), opacity .25s 0s, margin .55s var(--calm);overflow:hidden}.c4:hover,.c4:focus-visible{color:#fff;box-shadow:var(--glow);outline:0}.c4.gh{color:var(--t1);align-self:flex-start}.c4.gh span,.c4.gh:hover span{opacity:1;max-width:none;margin:0}.c4.gh>span,.c4.gh:hover>span{margin-left:10px}.c4.gh .i{color:#b89cff}.c4:hover span,.c4:focus-visible span{opacity:1;max-width:130px;transition:max-width .55s var(--calm), opacity .35s .12s, margin .55s var(--calm);margin-left:10px}.home{width:min(1600px,94vw);margin:0 auto;padding:clamp(28px,4.5vw,64px) 0 120px}.hero{--ns:clamp(34px, 4.8vw, 96px);--av:calc(var(--ns) * 2.5 + 34px);grid-template-columns:max(var(--av), 240px) minmax(0, max-content);--bfs:clamp(14px, 1.05vw, 17px);grid-template-areas:"av top""ct bio";justify-content:center;align-items:center;gap:16px clamp(24px,4vw,72px);max-width:clamp(1000px,72vw,1640px);margin:0 auto;display:grid}.hero>.contacts{translate:0 calc(var(--bfs) * .06)}.hero>.avatar{grid-area:av;place-self:end center;margin-top:12px}.hero-t{grid-area:top;align-self:end}.hero>.contacts{grid-area:ct;justify-content:center}.hero>.bio{grid-area:bio;align-self:center}.avatar{width:var(--av);aspect-ratio:1;background:var(--s3);outline:1px solid var(--line2);outline-offset:7px;border-radius:50%;position:relative;overflow:hidden}.avatar img{filter:grayscale()contrast(1.05);transition:transform .5s var(--ease)}.avatar:hover img{transform:scale(1.05)}.name{font-size:var(--ns);letter-spacing:-.04em;white-space:nowrap;margin-left:-.25em;font-weight:700;line-height:.95}.name .first{color:var(--t2);font-weight:250}.name .l{white-space:pre;display:inline-block}.name[data-anim=typed] .l{visibility:hidden;animation:forwards show;animation-delay:calc(var(--i) * 55ms)}.name[data-anim=typed]:after{content:"_";color:var(--t2);font-weight:300;animation:1s step-end 6 forwards blink}.name[data-anim=none] .l{animation:none}.js .name[data-anim=pending] .l{opacity:0}.name[data-anim=rise] .l{opacity:0;animation:rise .6s var(--ease) forwards;animation-delay:calc(var(--i) * 38ms);transform:translateY(.45em)}.name[data-anim=blur] .l{opacity:0;filter:blur(14px);animation:blurin .8s var(--calm) forwards;animation-delay:calc(var(--i) * 30ms)}.name[data-anim=wipe]{clip-path:inset(-10% 100% -10% 0);animation:wipe 1.1s var(--calm) .1s forwards}.name[data-anim=scramble] .l.s{color:var(--t3)}@keyframes show{to{visibility:visible}}@keyframes rise{to{opacity:1;transform:none}}@keyframes blurin{to{opacity:1;filter:none}}@keyframes wipe{to{clip-path:inset(-10% 0)}}@keyframes blink{50%{opacity:0}to{opacity:0}}.role{color:var(--t3);text-transform:uppercase;letter-spacing:.18em;margin-top:14px;font-size:12px}.stats{flex-wrap:wrap;gap:clamp(18px,2.4vw,40px);margin-top:24px;display:flex}.stat b{letter-spacing:-.02em;font-size:clamp(18px,1.6vw,24px);display:block}.stat span{color:var(--t2);font-size:13px}.stat.est b:after{content:"*";color:var(--t3);margin-left:2px;font-weight:300}.bio{color:var(--t2);max-width:900px;font-size:var(--bfs,clamp(14px, 1.05vw, 17px))}.bio strong{color:var(--t1);font-weight:600}.bio strong.accent{color:var(--red);font-weight:700}.bio p{display:inline}.bio-credit{vertical-align:middle;color:var(--t3);margin-left:.6em;font-size:.75em;line-height:1.5;display:inline}.bio-credit:before{content:"— "}:is(.contacts [data-contact=linkedin],.cdock [data-switch=linkedin]) .i{color:#0a66c2}:is(.contacts [data-contact=instagram],.cdock [data-switch=instagram]) .i{color:#e1306c}:is(.contacts [data-contact=youtube],.cdock [data-switch=youtube]) .i{color:#f03}:is(.contacts [data-contact=github],.cdock [data-switch=github]) .i{color:#b89cff}:is(.contacts [data-contact=message],.cdock [data-switch=message]) .i{color:#e8b86d}:root[data-rail-rim=true] .rail .bn:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff4d,inset 0 1px #ffffff73}.avatar[data-recent=true]{overflow:visible}.avatar[data-recent=true] img{border-radius:50%}.avatar[data-recent=true]:before{content:"";pointer-events:none;background:conic-gradient(#d62976,#962fbf,#4f5bd5,#fa7e1e,#feda75,#d62976);border-radius:50%;position:absolute;inset:-10px;mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0)}.rail{gap:6px;width:min(clamp(1000px,72vw,1640px),100%);height:clamp(120px,11vw,168px);margin:clamp(30px,3.6vw,48px) auto;display:flex}.rail .bn{background:var(--s1);min-width:64px;transition:flex var(--rail,.38s) var(--calm), box-shadow .18s;will-change:flex-grow;border-radius:18px;flex:1;align-items:flex-end;padding:14px 16px;display:flex;position:relative;overflow:hidden}.rail .bn img{position:absolute;inset:0}.rail .bn img.c{filter:brightness(.62)}.rail .bn img.g{filter:grayscale()brightness(.46);transition:opacity .22s}.rail .bn.me img{object-position:50% 30%}.rail .bn>span{white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:flex;position:relative}.rail .bn b{opacity:0;max-width:0;transition:max-width var(--rail,.6s) var(--calm), opacity .3s;font-weight:700;overflow:hidden}.rail .bn:hover b,.rail:not(:hover) .bn.on b{opacity:1;max-width:220px;transition:max-width var(--rail,.6s) var(--calm), opacity .35s .1s}.rail:hover .bn{flex:.8}.rail .bn:hover,.rail:not(:hover) .bn.on{box-shadow:var(--glow);flex:2.6}.rail .bn:hover img.g,.rail:not(:hover) .bn.on img.g{opacity:0}.grid{grid-template-columns:repeat(auto-fill,minmax(clamp(150px,15vw,280px),1fr));gap:4px;display:grid;position:relative}.grid.packed .tile{position:absolute}.tile{background:var(--s1);text-align:left;transition:transform .16s var(--ease), box-shadow .16s;position:relative;overflow:hidden}.tile:hover,.tile.lit,.tile.tease{box-shadow:var(--glow);z-index:1;transform:scale(1.015)}.tile.lit img,.tile.tease img{filter:grayscale(0)brightness(.85)}.tile.flash{animation:flash 1.4s var(--ease)}@keyframes flash{0%,60%{box-shadow:var(--glow);transform:scale(1.02)}}.tile.tease{transition:transform .45s var(--calm), box-shadow .45s}.tile img{filter:grayscale(.85)brightness(.72);transition:filter .35s}.tile:hover img{filter:grayscale(0)brightness(.85)}.tile img+.in{background:linear-gradient(#0000 45%,#000c)}.tile .in{flex-direction:column;justify-content:space-between;padding:clamp(12px,1.4vw,22px);display:flex;position:absolute;inset:0}.tile .k{color:var(--t3);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.tile h3{letter-spacing:-.02em;font-size:clamp(15px,1.5vw,23px);line-height:1.12}.tile p{color:var(--t2);margin-top:6px;font-size:13px}.tile.empty{outline-offset:-1px;color:#3a3a3a;background:0 0;outline:1px dashed #333;place-items:center;display:grid}.tile.empty .br{font-size:clamp(22px,2vw,32px);font-weight:300}.tile.empty .ratio{color:#555;font-size:11px;position:absolute;bottom:10px;right:12px}.tile.empty:hover{color:#777;outline-color:#777}.tile .views{text-shadow:0 1px 8px #000;font-size:13px;font-weight:700;position:absolute;bottom:10px;left:12px}.tile .in .views{text-shadow:none;margin-top:8px;display:block;position:static}.cnav{outline-offset:3px;background:#0e0e0eeb;border-radius:999px;outline:1px solid #333;gap:2px;padding:5px;display:inline-flex;position:relative}.cnav .lens{transition:transform .28s var(--spring), width .28s var(--spring), height .28s var(--spring), border-radius .28s var(--spring);pointer-events:none;background:#ffffff1a;border-radius:999px;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 1px #ffffff29,0 0 18px #ffffff14}.cnav.instant .lens{transition:none}.cnav .ci{z-index:1;color:var(--t2);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:5px 18px 5px 5px;transition:color .2s,opacity .18s;display:flex;position:relative}.cnav .ci.on,.cnav .ci:hover{color:var(--t1)}.cnav .ci .av{outline-offset:2px;border-radius:50%;outline:1px solid #555;flex:none;width:36px;height:36px;transition:outline-color .25s;overflow:hidden}.cnav .ci .av img{filter:grayscale()brightness(.75);transition:filter .3s}.cnav .ci:hover .av,.cnav .ci.on .av{outline-color:#fff}.cnav .ci:hover .av img,.cnav .ci.on .av img{filter:none}.cnav .ci .lb{align-items:center;gap:8px;display:flex}.cnav .ci .lb svg{display:none}.cnav .home-btn{padding:5px}.cnav .home-btn .lb{display:none}.cnav .home-btn .av img{filter:grayscale()}.cnav.banners{--bh:44px;--bw:150px;border-radius:18px;gap:6px;padding:6px}.cnav.banners .lens{box-shadow:var(--glow);z-index:2;background:0 0;border-radius:13px}.cnav.banners .ci{width:var(--bw);height:var(--bh);border-radius:13px;padding:0 12px;overflow:hidden}.cnav.banners .ci .av{border-radius:0;outline:0;width:auto;height:auto;position:absolute;inset:0}.cnav.banners .ci .av img{filter:grayscale()brightness(.34)}.cnav.banners .ci:hover .av img,.cnav.banners .ci.on .av img{filter:grayscale(0)brightness(.6)}.cnav.banners .ci .lb{font-size:12.5px;font-weight:700;position:relative}.cnav.banners .ci .lb svg{width:15px;height:15px;display:block}.cnav.banners .home-btn{width:var(--bh);border-radius:50%;padding:0}.cnav.banners .home-btn .av{border-radius:50%}.cnav.banners .home-btn .av img{filter:grayscale()brightness(.9)}.cnav.vert{border-radius:24px;flex-direction:column;width:100%;display:flex}.cnav.vert .ci{width:100%}.cnav.vert .home-btn .lb{display:flex}.cnav.vert.banners{--bh:50px}.cnav.vert.banners .home-btn{border-radius:13px;width:100%;padding:0 12px}.cnav.vert.banners .home-btn .av{border-radius:0}.cnav.vert.banners .home-btn .av img{filter:grayscale()brightness(.4)}.cnav.landing{background:0 0;outline-color:#0000}.cnav.landing .ci,.cnav.landing .lens{opacity:0}#topnav{z-index:30;pointer-events:none;justify-content:center;display:flex;position:fixed;top:16px;left:0;right:0}#topnav>*{pointer-events:auto}#sidenav{z-index:30;width:250px;position:fixed;top:22px;left:clamp(16px,2.4vw,40px)}body:not(.in-cat) #topnav,body:not(.in-cat) #sidenav,.nav-side #topnav,.nav-top #sidenav{display:none}.nav-top .catpage{padding-top:84px}.flight{z-index:45;pointer-events:none;transition:opacity .25s;position:fixed;inset:0}.fl,.flcap,.fllens{will-change:transform, width, height;position:fixed;top:0;left:0}.fl{background:var(--s1);contain:layout paint;overflow:hidden}.fl img{position:absolute;inset:0}.fl img.to{opacity:0}.fl .lb{transform-origin:0 0;white-space:nowrap;will-change:transform, opacity;align-items:center;gap:.65em;font-weight:700;line-height:1.6;display:flex;position:absolute;top:0;left:0}.fl .lb svg{width:1.2em;height:1.2em}.flcap{outline-offset:3px;background:#0e0e0eeb;outline:1px solid #333}.cnav.instant-all,.cnav.instant-all *{transition:none!important}.catpage{min-height:100vh}.frame{grid-template-columns:minmax(0,1fr);gap:clamp(20px,2.6vw,48px);max-width:2400px;margin:0 auto;padding:0 clamp(16px,2.4vw,40px);display:grid}.frame.has-side{grid-template-columns:250px minmax(0,1fr)}.side{scrollbar-width:none;flex-direction:column;align-self:start;gap:16px;height:100vh;padding:22px 4px 40px;display:flex;position:sticky;top:0;overflow:auto}.nav-side .side{padding-top:calc(var(--snh,420px) + 44px)}.nav-top .side{height:calc(100vh - 84px);padding-top:0;top:84px}.search{background:var(--s1);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;display:flex}.search input{min-width:0;color:var(--t1);font:13px var(--mono);background:0 0;border:0;outline:0;flex:1}.outline{list-style:none}.outline>li>a{color:var(--t1);border-radius:10px;margin-top:6px;padding:6px 12px;font-size:13px;font-weight:600;display:block}.outline ul{margin-left:10px;list-style:none}.outline ul a{color:var(--t3);border-radius:10px;padding:4px 12px;font-size:13px;display:block}.outline a:hover{color:var(--t1);background:var(--s2)}.main{min-width:0;padding:34px 0 140px}.main.enter{animation:up .5s var(--ease) both}.main.enter.xpage{animation-fill-mode:backwards}@keyframes up{0%{opacity:0;transform:translateY(14px)}}.ph1{letter-spacing:-.045em;font-size:clamp(30px,3.6vw,56px);line-height:1}.lead{color:var(--t2);max-width:680px;margin:14px 0 6px;font-size:16px}.kick{color:var(--t3);letter-spacing:.16em;text-transform:uppercase;font-size:11px}h2{letter-spacing:-.03em;font-size:clamp(19px,1.6vw,24px);line-height:1.15}h3{font-size:15px}p{color:var(--t2)}.take{background:linear-gradient(90deg,#ffffff0d,#fff0 75%);border-radius:16px;padding:18px 22px;position:relative}.take:before{content:"";background:var(--t1);border-radius:2px;width:2px;position:absolute;top:16px;bottom:16px;left:0}.take p{color:var(--t1)}.todo{color:var(--t3);font-size:12px}.bx{margin-top:26px;container-type:inline-size}.bgrid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:10px;display:grid}.t{background:var(--s1);border-radius:22px;flex-direction:column;grid-column:span 4;gap:10px;min-height:150px;padding:clamp(18px,1.6vw,26px);display:flex;position:relative;overflow:hidden}.t.w3{grid-column:span 3}.t.w5{grid-column:span 5}.t.w6{grid-column:span 6}.t.w7{grid-column:span 7}.t.w8{grid-column:span 8}.t.w12{grid-column:span 12}.t.h2{grid-row:span 2}.t.h3{grid-row:span 3}.t.pic{min-height:220px;padding:0}.t.pic img{filter:grayscale(.55)brightness(.62);transition:filter .45s, transform .8s var(--ease);position:absolute;inset:0}.t.pic:hover img{filter:grayscale(0)brightness(.75);transform:scale(1.03)}.t.pic .cap{position:absolute;bottom:16px;left:18px;right:18px}.t.pic .cap b{display:block}.t.pic .cap small{color:var(--t2);font-size:12px}.t .big{letter-spacing:-.04em;font-size:clamp(28px,3vw,48px);font-weight:700;line-height:1}.foot{flex-wrap:wrap;align-items:center;gap:14px 28px;display:flex}.t .foot{margin-top:auto}.t .bgimg{opacity:.2;position:absolute;inset:0}.t .bgimg img{filter:grayscale()}.t>:not(.bgimg):not(img){position:relative}.strip{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;display:grid}.strip>div{aspect-ratio:3/2;border-radius:12px;overflow:hidden}.strip img{filter:grayscale(.3)brightness(.85)}.facts{gap:8px;list-style:none;display:grid}.facts li{color:var(--t2);justify-content:space-between;gap:16px;font-size:13px;display:flex}.facts li b{color:var(--t1);text-align:right;font-weight:600}.tl{gap:12px;list-style:none;display:grid}.tl li{grid-template-columns:110px 1fr;gap:14px;display:grid}.tl .when{color:var(--t3);padding-top:2px;font-size:12px}.tl b{display:block}.tl span span{color:var(--t2);font-size:13px}@container (width<=1000px){.t,.t.w3,.t.w5{grid-column:span 6}.t.w7,.t.w8{grid-column:span 12}}@container (width<=620px){.t,.t.w3,.t.w5,.t.w6,.t.w7,.t.w8{grid-column:span 12}.t.h2,.t.h3{grid-row:auto}}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;gap:clamp(20px,3vw,56px);margin-top:26px;display:grid}.split .photo{border-radius:26px;min-height:min(70vh,640px);position:relative;overflow:hidden}.split .photo img{filter:grayscale(.4)brightness(.7);position:absolute;inset:0}.split .photo .cap{color:var(--t2);font-size:12px;position:absolute;bottom:18px;left:20px}.split .photo .cap:empty{display:none}.split .text{flex-direction:column;justify-content:center;gap:18px;display:flex}@media (width<=1100px){.split{grid-template-columns:1fr}}.pgrid{container-type:inline-size}.pgrid .grid{grid-template-columns:repeat(auto-fill,minmax(clamp(170px,14vw,300px),1fr));margin-top:22px}.group{margin-top:42px;scroll-margin-top:90px}.nav-top .group{scroll-margin-top:170px}.group h2{margin-bottom:14px}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:10px;display:grid}.blogf{grid-template-columns:minmax(0,1fr);gap:clamp(20px,2.4vw,44px);display:grid}@media (width>=1300px){.blogf.with-rail{grid-template-columns:minmax(0,1fr) clamp(280px,18vw,420px)}}.posts{grid-template-columns:repeat(auto-fill,minmax(min(100%,410px),1fr));align-items:start;gap:12px;margin-top:22px;display:grid;container-type:inline-size}.posts.masonry{columns:440px;column-gap:12px;display:block}.posts.masonry .post{break-inside:avoid;margin-bottom:12px}.post{background:#0c0c0ceb;border-radius:20px;grid-template-columns:40px 1fr;gap:14px;padding:20px;display:grid}.post .pav{border-radius:50%;width:40px;height:40px;overflow:hidden}.post .pav img{filter:grayscale()}.post .meta{color:var(--t3);justify-content:space-between;gap:10px;font-size:13px;display:flex}.post .meta b{color:var(--t1)}.badge{background:var(--s2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.badge svg{width:12px;height:12px}.post p{color:var(--t1);margin:8px 0 10px}.post .media{aspect-ratio:16/9;border-radius:12px;margin:10px 0;overflow:hidden}.post .media img{filter:grayscale(.5)}.post .tags{color:var(--t3);font-size:13px}.post .react{color:var(--t3);gap:18px;margin-top:6px;font-size:12px;display:flex}.video{aspect-ratio:16/9;background:#050505;border-radius:22px;position:relative;overflow:hidden}.video img{filter:brightness(.8);transition:filter .4s, transform .8s var(--ease);position:absolute;inset:0}.video:hover img{filter:brightness(.95);transform:scale(1.02)}.video .play{background:#0000008c;border-radius:50%;place-items:center;width:76px;height:76px;margin:-38px 0 0 -38px;transition:background-color .3s;display:grid;position:absolute;top:50%;left:50%}.video .play:after{content:"";pointer-events:none;border:1.5px solid #fffc;border-radius:50%;transition:box-shadow .3s;position:absolute;inset:-5.5px}.video:hover .play{background:#0006}.video:hover .play:after{box-shadow:0 0 26px #ffffff59}.video .play svg{fill:#fff;stroke:none;width:26px;height:26px;margin-left:4px}.video .vmeta{color:var(--t2);text-shadow:0 1px 8px #000;justify-content:space-between;gap:12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:20px;right:20px}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.journal{gap:44px;max-width:1100px;margin-top:30px;list-style:none;display:grid}.journal>li{grid-template-columns:120px minmax(0,1fr);gap:clamp(16px,3vw,48px);display:grid}.journal .when{color:var(--t3);letter-spacing:.12em;text-transform:uppercase;align-self:start;padding-top:4px;font-size:12px;position:sticky;top:24px}.nav-top .journal .when{top:104px}.journal .body{flex-direction:column;gap:12px;display:flex}.phero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;display:grid}.ov{z-index:60;background:#000c;place-items:start center;padding:max(56px,9vh) 24px 56px;display:none;position:fixed;inset:0;overflow:auto}.ov.on{animation:.22s ease-out fade;display:grid}@keyframes fade{0%{opacity:0}}.stack{width:min(var(--w,1000px), 100%);flex-direction:column;align-items:center;gap:22px;display:flex;position:relative}.stack>.x1{z-index:3;position:absolute;top:-16px;right:-16px}@keyframes pop{0%{opacity:0;transform:scale(.97)}}.pv{width:100%;animation:pop .3s var(--ease);background:#070707;grid-template-columns:1.15fr 1fr;max-height:calc(100vh - 180px);display:grid;overflow:auto}.pv .media{aspect-ratio:1;background:var(--s1);place-items:center;display:grid;overflow:hidden}.pv .media .txt{letter-spacing:-.04em;color:var(--t3);text-align:center;padding:20px;font-size:clamp(28px,3vw,42px);font-weight:700}.pv .info{flex-direction:column;gap:14px;padding:clamp(22px,2.6vw,36px);display:flex}.pv h2{font-size:clamp(24px,2.4vw,32px)}.card{width:100%;animation:pop .3s var(--ease);background:#070707;grid-template-columns:300px 1fr;display:grid}.card .who{flex-direction:column;gap:6px;padding:28px 22px 28px 28px;display:flex}.card .who .av{outline:1px solid var(--line2);outline-offset:4px;border-radius:50%;width:76px;height:76px;margin:4px 0 14px;overflow:hidden}.card .who .av img{filter:grayscale()}.card .who .r{color:var(--t3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-size:11px}.cdock{outline-offset:3px;background:#101010f2;border-radius:24px;outline:1px solid #333;flex-direction:column;gap:2px;padding:5px;display:flex;position:relative}.cdock .lens{transition:transform .42s var(--spring), height .42s var(--spring);pointer-events:none;background:#ffffff1a;border-radius:18px;position:absolute;top:0;left:5px;right:5px;box-shadow:inset 0 0 0 1px #ffffff29,0 0 18px #ffffff14}.cdock button{z-index:1;color:var(--t2);text-align:left;border-radius:18px;align-items:center;gap:12px;padding:10px 12px;transition:color .2s;display:flex;position:relative}.cdock button.on,.cdock button:hover{color:var(--t1)}.cdock .h{color:var(--t3);font-size:11.5px;display:block}.pane{transition:height .45s var(--calm);overflow:hidden}.pane .in{transition:opacity .22s, transform .32s var(--calm);flex-direction:column;gap:14px;padding:28px;display:flex}.pane .in.out{opacity:0;transform:translateY(6px)}.cached{color:var(--t3);font-size:11px}.ch{background:var(--s1);border-radius:14px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px 16px;display:grid}.ch b{display:block}.ch small{color:var(--t3);font-size:12px}.act{color:var(--t2);align-items:center;gap:7px;font-size:12px;display:flex}.act i{background:var(--t1);border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #ffffffb3}.act.off i{box-shadow:none;background:#555}.act.off{color:var(--t3)}.ctaswap{transition:opacity .2s}.ctaswap:empty{display:none}.cform{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cform label{color:var(--t3);flex-direction:column;gap:6px;font-size:12px;display:flex}.cform .wide{grid-column:1/-1}.cform input,.cform textarea{background:var(--s1);width:100%;color:var(--t1);font:14px var(--mono);border:0;border-radius:14px;outline:1px solid #2a2a2a;padding:12px 14px;transition:outline-color .2s,box-shadow .2s}.cform textarea{resize:none;min-height:132px;overflow:hidden}.cform input:focus,.cform textarea:focus{outline-color:#fff;box-shadow:0 0 14px #ffffff26}.cform .send{color:var(--t1);transition:box-shadow .25s, transform .3s var(--spring);background:#ffffff1a;border-radius:999px;grid-column:1/-1;justify-self:start;padding:11px 30px;font-weight:700;position:relative;box-shadow:inset 0 0 0 1px #ffffff38}.cform .send:hover{box-shadow:var(--glow);transform:scale(1.03)}.cform .send:disabled{opacity:.5;pointer-events:none}.cform .done{color:var(--t1);grid-column:1/-1}.vprev{width:100%;animation:pop .3s var(--ease);background:#070707;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);display:grid}.vprev .vmedia{aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.vprev iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.vprev .vmedia img{filter:brightness(.75)}.vprev .play{background:#0000008c;border-radius:50%;place-items:center;width:76px;height:76px;margin:-38px 0 0 -38px;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1.5px #fffc}.vprev .play svg{fill:#fff;stroke:none;width:26px;height:26px;margin-left:4px}.vprev .note{color:var(--t2);text-shadow:0 1px 6px #000;font-size:11px;position:absolute;bottom:12px;left:16px}.vprev .vinfo{flex-direction:column;gap:12px;padding:clamp(20px,2.4vw,32px);display:flex}.vprev .vinfo h2{font-size:clamp(18px,1.6vw,24px)}@media (width<=900px){.vprev{grid-template-columns:1fr}}.story{width:100%;animation:pop .3s var(--ease);background:#070707}.story .top{align-items:center;gap:14px;padding:18px 20px;display:flex}.story .top .av{outline:1.5px solid var(--t1);outline-offset:3px;border-radius:50%;width:46px;height:46px;overflow:hidden}.story .top .av img{filter:grayscale()}.story .bars{gap:4px;padding:12px 20px 0;display:flex}.story .bars i{background:#333;flex:1;height:2px;overflow:hidden}.story .bars i:first-child:after{content:"";background:var(--t1);height:100%;animation:6s linear forwards prog;display:block}@keyframes prog{0%{width:0}to{width:100%}}.story .media{aspect-ratio:16/10;overflow:hidden}.story .body{padding:18px 20px 22px}.dock{display:none}@media (width<=760px){.hero{--av:104px;grid-template-columns:auto 1fr;grid-template-areas:"av ct""top top""bio bio";gap:18px}.hero>.contacts{justify-content:flex-end}.name{white-space:normal}.rail{height:96px;overflow-x:auto}.rail .bn,.rail:hover .bn,.rail .bn:hover,.rail:not(:hover) .bn.on{flex:none;width:92px}.rail .bn.on,.rail:not(:hover) .bn.on{width:180px}.split .photo{min-height:46vh}.grid{grid-template-columns:repeat(3,1fr);gap:2px}.tile p,.tile .k{display:none}.tile h3{font-size:12px}.frame.has-side{grid-template-columns:1fr}.side,.topnav{display:none}.nav-top .catpage{padding-top:0}.pv,.card{grid-template-columns:1fr}.stack>.x1{top:-58px;right:6px}.journal>li{grid-template-columns:1fr}.journal .when{position:static}.dock{z-index:40;left:0;right:0;bottom:max(10px, env(safe-area-inset-bottom));--n:7;width:min(calc(var(--n) * 45px + 12px), calc(100% - 36px));grid-template-columns:repeat(var(--n), 1fr);backdrop-filter:blur(18px);background:#0e0e0eeb;border-radius:22px;height:43px;margin-inline:auto;padding:3px 6px;display:grid;position:fixed;box-shadow:inset 0 1px #ffffff24,0 10px 30px #00000087}.dock:after{content:"";border-radius:inherit;background:var(--g-rim);pointer-events:none;-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.dock .lens{width:calc((100% - 12px) / var(--n));transform:translateX(calc(var(--sel,0) * 100%));background:#ffffff0a;border-radius:18px;transition:transform .26s cubic-bezier(.18,.82,.2,1.08);position:absolute;top:3px;bottom:3px;left:6px;box-shadow:0 0 0 1px #ffffffd9,0 0 16px #ffffff4d}.dock a{color:#8d8d8d;place-items:center;display:grid;position:relative}.dock a:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dock a.on{color:#f2f2f2}.dock svg{width:17px;height:17px}}.secttl{justify-content:space-between;align-items:baseline;gap:20px;margin:60px 0 14px;display:flex}.secttl .kick{margin:0}.facts3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.facts3>div{background:var(--s1);border-radius:22px;flex-direction:column;gap:12px;padding:22px 24px;display:flex}.chap{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;gap:clamp(20px,3.4vw,64px);margin-top:56px;display:grid}.chap.flip{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}.chap.flip .im{order:2}.chap .im{aspect-ratio:5/4;border-radius:24px;width:100%;overflow:hidden}.chap .im img{filter:grayscale(.2)brightness(.85)}.chap .tx{flex-direction:column;gap:14px;max-width:620px;display:flex}.chap .num{color:var(--t3);letter-spacing:.16em;font-size:12px}@media (width<=1100px){.facts3{grid-template-columns:repeat(2,minmax(0,1fr))}.chap,.chap.flip{grid-template-columns:1fr}.chap.flip .im{order:0}}.proof .big{font-size:clamp(26px,2.6vw,42px)}.group .grid{margin-top:4px}.group h2 small{color:var(--t3);letter-spacing:0;margin-left:10px;font-size:13px;font-weight:400}.xc{background:var(--s1);border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden}.xc .im{aspect-ratio:2;background:var(--s2);color:var(--t3);place-items:center;font-size:12px;display:grid;position:relative;overflow:hidden}.xc .im img{filter:grayscale(.35)brightness(.8);position:absolute;inset:0}.xc .im.icons img{object-fit:contain;filter:grayscale()invert();mix-blend-mode:screen;opacity:.85;padding:18px}.xc .im .pl{outline-offset:4px;border-radius:50%;outline:1.5px solid #666;place-items:center;width:58px;height:58px;display:grid}.xc .im .pl svg{width:22px;height:22px;fill:var(--t2);stroke:none;margin-left:3px}.xc .tx{flex-direction:column;gap:6px;padding:16px 18px 18px;display:flex}.xc .meta{color:var(--t3);align-items:center;gap:10px;font-size:12px;display:flex}.xc .did{color:var(--t1);background:#ffffff0d;border-radius:12px;padding:8px 12px;font-size:12.5px}.xc:after{content:"";background:var(--t1);border-radius:50%;width:10px;height:10px;position:absolute;top:26px;box-shadow:0 0 10px #ffffffb3}.xc>.im{border-radius:20px 20px 0 0}.xh{scrollbar-width:thin;margin-top:30px;padding-bottom:20px;position:relative;overflow-x:auto}.xh .track{grid-template-rows:auto 60px auto;grid-auto-columns:300px;grid-auto-flow:column;column-gap:16px;min-width:max-content;display:grid;position:relative}.xh .track:before{content:"";background:linear-gradient(90deg,#ffffff80,#ffffff1a);height:2px;position:absolute;top:calc(50% - 1px);left:0;right:0}.xh .up{grid-row:1;align-self:end}.xh .down{grid-row:3;align-self:start}.xh .tick{z-index:1;white-space:nowrap;background:#000;border-radius:999px;outline:1px solid #555;grid-row:2;place-self:center start;padding:5px 12px;font-size:12px;position:relative}.xh .tick.yr{outline-color:#999;font-size:14px;font-weight:700}.xh .xc:after{display:none}.xpin{position:relative}.xstick{flex-direction:column;height:calc(100vh - 32px);display:flex;position:sticky;top:16px;overflow:hidden}.main.xpage{padding-bottom:0}.xhead{grid-template-columns:minmax(0,1fr) minmax(320px,560px);align-items:end;gap:40px;padding:8px 10px 8px 0;display:grid}.xscrub{user-select:none;touch-action:none;cursor:grab;padding:6px 6px 18px}.xscrub.drag{cursor:grabbing}.xscrub .bar{outline-offset:3px;background:#0e0e0eeb;border-radius:999px;outline:1px solid #333;height:34px;position:relative}.xscrub .bar i{background:#666;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;transition:background .2s,box-shadow .2s;position:absolute;top:50%}.xscrub .bar i.in{background:var(--t1);box-shadow:0 0 8px #fff9}.xscrub .thumb{box-shadow:var(--glow);border-radius:999px;position:absolute;top:3px;bottom:3px;left:0}.xscrub .yrs{color:var(--t3);letter-spacing:.1em;margin-top:10px;font-size:11px}.xpin .xh{flex:1;min-height:0;margin-top:14px;padding:0 8px;overflow:hidden}.nav-top .xpin .xstick{margin-right:calc(-1 * var(--bleed-r,0px));padding-right:var(--bleed-r,0px)}.nav-top .xpin .xh{overflow:visible}.xpin .xh .track{--cw:clamp(270px, 19vw, 500px);--cg:clamp(14px, 1.2vw, 24px);--ls:24px;grid-auto-columns:var(--cw);column-gap:var(--cg);grid-template-rows:minmax(0, 1fr) repeat(var(--n,2), var(--ls)) minmax(0, 1fr);will-change:transform;--a:calc(50% - var(--ls) / 2 * (var(--n,2) - 1) - 1px);--line:#a8a8a8;height:100%}.xpin .xh .track:before{top:var(--a);background:var(--line)}.xpin .xh :is(.lineb,.fork){--bx:calc(var(--bi) * (var(--cw) + var(--cg)) - var(--cg) / 2 - 23px)}.xpin .xh .lineb{top:calc(var(--a) + var(--ls) * var(--k,1));height:2px;width:var(--bx);background:var(--line);position:absolute;left:0}.xpin .xh .fork{left:var(--bx);top:var(--a);width:46px;height:calc(var(--ls) * var(--k,1) + 2px);position:absolute;overflow:visible}.xpin .xh .fork path{fill:none;stroke:var(--line);stroke-width:2px}.xpin .xh .up,.xpin .xh .down{flex-direction:column;height:100%;min-height:0;display:flex}.xpin .xh .up{grid-row:1;justify-content:flex-end}.xpin .xh .down{justify-content:flex-start}.xpin .xh .up{padding-bottom:16px}.xpin .xh .down{height:calc(100% + 10px);margin-top:-10px}.xpin .xh .tick{padding:2px 9px;font-size:11px;line-height:1.5}.xpin .xh .tick.yr{font-size:12px}.xpin .xh .tick.job b{color:var(--t1);margin-right:6px;font-weight:700}.xpin .xh .xc{min-height:0;max-height:100%}.xpin .xh .xc .im{aspect-ratio:21/9;flex:0 auto;min-height:0}.xpin .xh .xc .tx{flex:none;gap:4px;padding:clamp(10px,.9vw,18px) clamp(14px,1.1vw,22px)}.xpin .xh .xc .did{padding:6px 10px;font-size:clamp(12px,.7vw + 3px,15px)}.xpin .xh .xc h3{font-size:clamp(14.5px,.8vw + 5px,22px)}.xpin .xh .xc p{font-size:clamp(13px,.55vw + 5px,17px)!important}.xpin .xh .xc .meta{font-size:clamp(11px,.45vw + 4px,14px)}.xhint{color:var(--t3);letter-spacing:.06em;text-align:right;margin-bottom:10px;font-size:11px}.xscrub .yrs{height:16px;padding:0;display:block;position:relative}.xscrub .yrs span{position:absolute;transform:translate(-50%)}.xscrub .yrs span:last-child{right:0;transform:none}.xrow .xc:after{display:none}.xc[data-yt]{cursor:pointer}.xc .im .pl{background:#00000073;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.xlegend{color:var(--t3);flex-wrap:wrap;gap:10px 26px;margin-top:22px;font-size:12.5px;display:flex}.xlegend .lg{align-items:center;gap:8px;display:flex}.xlegend b{color:var(--t1);font-weight:600}.xlegend i{background:var(--c);border-radius:50%;width:9px;height:9px}.xgit{max-width:900px;margin-top:26px}.xrow{grid-template-columns:76px minmax(0,1fr);padding-bottom:16px;display:grid}.xrow .gut{position:relative}.xrow .ln{background:#555;width:2px;margin-left:-1px;position:absolute}.xrow .ln.live{background:linear-gradient(#ffffffbf,#ffffff80)}.xrow .gut .ln{bottom:-16px}.xrow .nd{background:#000;border-radius:50%;outline:2px solid #777;width:12px;height:12px;margin-left:-6px;position:absolute;top:24px}.xrow .nd.live{outline-color:#fff;box-shadow:0 0 10px #fff9}.xrow .fork{position:absolute;top:30px;overflow:visible}.xrow .fork path{fill:none;stroke:#fff9;stroke-width:2px}.xgit.two{max-width:none}.xrow.two{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);column-gap:14px}.xrow.two .c{flex-direction:column;gap:14px;min-width:0;display:flex}.xrow .xc{flex-direction:row}.xrow .xc .im{aspect-ratio:16/9;border-radius:20px 0 0 20px;flex:0 0 38%}.xrow .xc .tx{justify-content:center}@media (width<=760px){.xrow .xc{flex-direction:column}.xrow .xc .im{border-radius:20px 20px 0 0;flex:none}.xhead{grid-template-columns:1fr}}.posts.packed{display:block;position:relative}.posts.packed>.post{position:absolute}.chrail{flex-direction:column;gap:14px;display:none;position:sticky;top:24px}.nav-top .chrail{top:100px}@media (width>=1300px){.chrail{display:flex}}.chc{flex-direction:column;gap:8px;display:flex}.chc .shot{aspect-ratio:1120/780;border-radius:16px;position:relative;overflow:hidden}.chc .shot>img{filter:brightness(.8)}.chc video{object-fit:cover;border-radius:6px;position:absolute;box-shadow:0 0 0 1.5px #ffffffd9,0 0 24px #000c}.chc .cap{color:var(--t3);justify-content:space-between;padding:0 4px;font-size:12px;display:flex}.chc .cap b{color:var(--t1);font-weight:600}.month{grid-template-columns:150px minmax(0,1fr);gap:clamp(16px,2.4vw,40px);margin-top:34px;display:grid}.month>.when{letter-spacing:.14em;text-transform:uppercase;color:var(--t3);align-self:start;padding-top:6px;font-size:12px;position:sticky;top:24px}.nav-top .month>.when{top:100px}.month>.when b{letter-spacing:-.03em;color:var(--t1);text-transform:none;font-size:26px;display:block}.entries{grid-template-columns:repeat(auto-fill,minmax(min(100%,500px),1fr));gap:12px;display:grid;container-type:inline-size}.entry{background:var(--s1);border-radius:22px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:220px;display:grid;overflow:hidden}.entry .media{min-height:200px;position:relative}.entry .media>img{filter:grayscale(.3)brightness(.8);position:absolute;inset:0}.entry .media .video{aspect-ratio:auto;border-radius:0;position:absolute;inset:0}.entry .tx{flex-direction:column;justify-content:center;gap:8px;padding:20px 22px;display:flex}.entry .tx h2{font-size:clamp(17px,1.3vw,21px)}.entry.feature{grid-column:1/-1;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);min-height:340px}.monthhead{align-items:baseline;gap:16px;margin-top:44px;display:flex}.monthhead h2{font-size:26px}@container (width<=560px){.entry,.entry.feature{grid-template-columns:1fr}.entry .media{aspect-ratio:16/10}}@media (width<=1000px){.month{grid-template-columns:1fr}.month>.when{position:static}}.mock{z-index:80;font-size:12px;position:fixed;bottom:14px;right:14px}.mock>button{border:1px dashed var(--line2);color:var(--t3);background:#050505;border-radius:999px;padding:8px 14px}.mock .pan{border:1px dashed var(--line2);background:#050505;border-radius:16px;width:290px;max-height:80vh;padding:14px;display:none;position:absolute;bottom:46px;right:0;overflow:auto}.mock.open .pan{display:block}.mock label{color:var(--t3);margin:8px 0 4px;display:block}.mock input[type=range]{accent-color:#f2f2f2;width:100%}.mock select{width:100%;color:var(--t1);border:1px solid var(--line);font:12px var(--mono);background:#0b0b0b;border-radius:10px;padding:6px}@media (width<=760px){.mock{bottom:66px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}.name,.name .l{opacity:1!important;filter:none!important;clip-path:none!important;visibility:visible!important;transform:none!important}.name:after{content:none!important}}.nav-top .frame.no-outline{grid-template-columns:minmax(0,1fr)}.nav-top .frame.no-outline>.side{display:none}.noimg{background:var(--s2);position:absolute;inset:0}.chap .im,.strip>div,.story .media,.pav,.post .media,.entry .media,.ph2{position:relative}.about-intro blockquote{background:linear-gradient(90deg,#ffffff0d,#fff0 75%);border-radius:16px;padding:18px 22px;position:relative}.about-intro blockquote:before{content:"";background:var(--t1);border-radius:2px;width:2px;position:absolute;top:16px;bottom:16px;left:0}.about-intro blockquote p{color:var(--t1)}.chap .tx p+p,.project-body p+p{margin-top:10px}.about-intro [data-f=body]>*+*{margin-top:1.1em}.exp-h{display:none}@media (width>=1230px) and (height>=720px){.exp-h{display:block}.exp-v{display:none}}.catpage{transition:padding-top var(--flight,.5s) var(--calm)}.side{transition:padding-top var(--flight,.5s) var(--calm), top var(--flight,.5s) var(--calm), height var(--flight,.5s) var(--calm)}.rail .bn b{opacity:1;max-width:220px}.rail .bn>span{font-size:clamp(12.5px,.9vw,15px)}:root{--g-bg:#ffffff0b;--g-rim:linear-gradient(180deg, #ffffff3d, #ffffff17 34%, #ffffff0f)}:is(.t,.tile:not(.empty),.xc,.post,.entry,.facts3>div,.split .text,.chap .tx,.ref,.c4){background-color:var(--g-bg)}:is(.facts3>div,.split .text,.chap .tx,.entry,.ref,.c4,.pv,.card,.vprev,.story){position:relative}:is(.t,.tile:not(.empty),.xc,.post,.entry,.facts3>div,.split .text,.chap .tx,.split .photo,.chap .im,.ph2,.chc .shot,.ref,.c4,.x1,.pv,.card,.vprev,.story,#glcard):before{content:"";z-index:3;border-radius:inherit;background:var(--g-rim);pointer-events:none;-webkit-mask-composite:xor;padding:1px;transition:opacity .25s;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}:is(.tile:hover,.tile.lit,.tile.tease,.post:hover,.chc:hover .shot,.c4:hover,.c4:focus-visible,.x1:hover):before{opacity:0}:is(.pv,.card,.vprev,.story){backdrop-filter:blur(18px);background-color:#0e0e0ed1}@media (width<=760px){#topnav,#sidenav{display:none!important}.catpage{padding-top:0!important}.frame.has-side{grid-template-columns:minmax(0,1fr)!important}.frame>.side{display:none!important}.main,.home{padding-bottom:110px}.contacts{flex-wrap:wrap;gap:8px}.c4{height:40px;padding:0 11px}.hero>.contacts{translate:none}.hero{grid-template-columns:auto minmax(0,1fr)}.hero-t{min-width:0}.role{letter-spacing:.1em}.stats{gap:12px 18px}.ph1{font-size:clamp(28px,9vw,40px)}.bgrid{grid-template-columns:minmax(0,1fr)}.bgrid>.t{grid-area:auto!important}.split,.chap,.chap.flip{grid-template-columns:minmax(0,1fr)}.chap.flip .im{order:0}.split .photo{min-height:56vh}.facts3,.entry,.entry.feature{grid-template-columns:minmax(0,1fr)}.entry .media{aspect-ratio:16/10;min-height:0}.phero,.card,.vprev{grid-template-columns:minmax(0,1fr)}.ov{padding-left:12px;padding-right:12px}}.xc .tx p{font-size:13.5px}:root.studio-edit body{-webkit-user-select:none;user-select:none}:root.studio-edit .page :is([data-src],[data-f]){cursor:default}.studio-typing{-webkit-user-select:text;user-select:text;outline-offset:4px;caret-color:var(--red);border-radius:4px;cursor:text!important;outline:1px solid #ffffffbf!important}.studio-lift{opacity:.3;transition:opacity .15s}:is(.split .text,.chap .tx){border-radius:24px;max-width:none;padding:clamp(22px,2.4vw,40px)}.about-intro blockquote{background:#ffffff0d}:is(.split .photo,.chap .im,.ph2,.chc .shot){background-color:#0000}:is(.about-intro p,.about-intro blockquote p,p.lead,.project-body p,.pv .info p,.post p,.entry p,.facts3 p){max-width:72ch;font-size:16px;line-height:1.75}:is(.about-intro [data-f=body]>p,.chap .tx [data-f=body] p,.project-body p){color:#e6e6e6}.nav-top [data-page=experience] .frame.has-side{grid-template-columns:clamp(200px,13vw,380px) minmax(0,1fr);max-width:none;padding-left:clamp(12px,1.1vw,28px)}.nav-top .xpin .xstick{--fade:clamp(20px, 2.6vw, 48px);margin-left:calc(-1 * var(--fade));padding-left:var(--fade);-webkit-mask:linear-gradient(90deg, transparent, #000 var(--fade));mask:linear-gradient(90deg, transparent, #000 var(--fade))}.xside{padding:2px 0 32px 1.6em;font-size:clamp(12.5px,.45vw + 6px,18px);line-height:1.35;list-style:none;position:relative}.xside:before{content:"";background:linear-gradient(var(--t1), #333 70%);width:1px;position:absolute;top:.9em;bottom:32px;left:calc(.15em + 3px)}.xside .yr{letter-spacing:.16em;color:var(--t3);margin:1.5em 0 .35em;font-size:.85em}.xside .yr:first-child{margin-top:0}.xside-refs{color:var(--t3);letter-spacing:.12em;text-transform:uppercase;margin:2.6em 0 0 1.6em;font-size:clamp(12.5px,.45vw + 6px,18px);transition:color .2s;display:inline-block}.xside-refs:hover,.xside-refs.in{color:var(--t1)}.xside-refs.in{text-shadow:0 0 12px #ffffff73}.xside a{color:var(--t3);border-radius:10px;grid-template-columns:2.7em minmax(0,1fr);gap:.5em;padding:.45em .6em .45em 0;transition:color .2s;display:grid;position:relative}.xside a:before{content:"";background:#000;border-radius:50%;width:7px;height:7px;transition:background .2s,box-shadow .2s;position:absolute;top:.85em;left:-1.45em;box-shadow:0 0 0 1px #666}.xside a:hover,.xside a.in{color:var(--t1)}.xside a.in:before{background:var(--t1);box-shadow:0 0 8px #fff9}.xside .when{padding-top:.1em;font-size:.85em}.xside b{font-weight:600;display:block}.xside small{color:var(--t3);margin-top:2px;font-size:.85em;display:block}.refs{margin-top:72px}.xpage .refs{padding-bottom:140px}.refgrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.ref{background:var(--s1);border-radius:22px;flex-direction:column;justify-content:space-between;gap:18px;margin:0;padding:24px;display:flex}.ref blockquote p{color:var(--t1);font-size:15px;line-height:1.65}.ref figcaption{color:var(--t3);flex-direction:column;gap:2px;font-size:12.5px;display:flex}.ref figcaption b{color:var(--t1);font-size:13.5px}.pcols{grid-template-columns:minmax(0,1fr);gap:clamp(36px,3vw,64px);display:grid}@media (width>=1800px){.pcols{grid-template-columns:repeat(2,minmax(0,1fr))}}.pcol{min-width:0}.pstrip{margin-top:14px;position:relative}.prow{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;padding:2px;display:flex;overflow-x:auto}.prow::-webkit-scrollbar{display:none}.ph2{height:clamp(220px,24vw,380px);aspect-ratio:var(--ar,4 / 5);scroll-snap-align:start;cursor:pointer;background:var(--s1);border-radius:18px;flex:none;margin:0;position:relative;overflow:hidden}.ph2 img{transition:transform .5s var(--ease), filter .4s;filter:grayscale(.3)brightness(.85)}.ph2:hover img{filter:none;transform:scale(1.03)}.ph2 .corner{max-width:calc(100% - 20px);color:var(--t1);white-space:nowrap;text-overflow:ellipsis;background:#0a0a0acc;border-radius:999px;padding:5px 11px;font-size:11.5px;position:absolute;bottom:10px;left:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff24}.parr{z-index:2;color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;margin-top:-23px;transition:opacity .2s,box-shadow .25s;display:grid;position:absolute;top:50%}.pstrip .parr{background-color:#080808db;box-shadow:0 0 0 1px #ffffff47,0 6px 22px #000000b3}.pstrip .parr svg{stroke-width:2px;width:20px;height:20px}.pstrip .parr:hover{box-shadow:var(--glow), 0 6px 22px #000000b3}.parr.l{left:-10px}.parr.l svg{transform:rotate(180deg)}.parr.r{right:-10px}.parr:disabled{opacity:0;pointer-events:none}.pv.pv-photo{grid-template-columns:minmax(0,1fr) clamp(260px,18vw,380px);max-height:calc(100vh - 96px)}.pv-photo .media{aspect-ratio:var(--ar,3 / 2);background:#000;max-height:calc(100vh - 96px)}.pv-photo .media img{object-fit:contain}@media (width<=760px){.parr{display:none}.ph2{height:260px}.pv.pv-photo{grid-template-columns:minmax(0,1fr)}}.gl{text-underline-offset:4px;cursor:help;color:var(--t1);text-decoration:underline dotted #ffffff73}.gl:hover,.gl:focus-visible{text-decoration-color:var(--t1);outline:0}#glcard{z-index:70;opacity:0;pointer-events:none;width:300px;transition:opacity .18s, translate .25s var(--ease);backdrop-filter:blur(18px);background:#0e0e0eeb;border-radius:18px;position:fixed;overflow:hidden;translate:0 4px;box-shadow:inset 0 1px #ffffff24,inset 0 0 0 1px #ffffff14,0 16px 40px #0009}#glcard.on{opacity:1;pointer-events:auto;translate:0}#glcard img{height:150px}#glcard .tx{flex-direction:column;gap:8px;padding:16px 18px 18px;display:flex}#glcard b{color:var(--t1);font-size:15px}#glcard p{color:var(--t2);font-size:13px;line-height:1.55}#glcard .b2{align-self:flex-start;margin-top:4px}.t.shots .pstrip{height:100%;margin:0}.t.shots .prow{scroll-snap-type:x mandatory;gap:0;height:100%;padding:0}.t.shots .ph2{aspect-ratio:auto;cursor:default;border-radius:0;width:100%;height:100%}.t.shots .ph2 img{filter:none;object-fit:contain;background:#000;transform:none}.t.shots .parr.l{left:12px}.t.shots .parr.r{right:12px}.post,.chc .shot{transition:box-shadow .3s, transform .3s var(--ease)}.post:hover{box-shadow:var(--glow);z-index:1;transform:scale(1.01)}.post[data-url]{cursor:pointer}.chc:hover .shot{box-shadow:var(--glow)}.li{background:#ffffff0a;border-radius:18px;position:relative;overflow:hidden}.li:before{content:"";z-index:3;border-radius:inherit;background:var(--g-rim);pointer-events:none;-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.li-banner{background:linear-gradient(135deg,#ffffff17,#ffffff05);height:90px}.li-body{margin-top:-34px;padding:0 20px 20px}.li-av{border-radius:50%;width:68px;height:68px;overflow:hidden;box-shadow:0 0 0 3px #0e0e0ef2}.cform input,.cform textarea,.csel{background:#ffffff0a;outline:1px solid #ffffff17}.egw{display:block;position:relative}.egw input{background:0 0;position:relative}.egw .ghost{font:14px var(--mono);white-space:pre;pointer-events:none;background:#ffffff0a;border-radius:14px;padding:12px 14px;position:absolute;inset:0;overflow:hidden}.egw .ghost i{color:#0000;font-style:normal}.egw .ghost b{color:var(--t3);opacity:.7;font-weight:400}.ehint{color:var(--t3);letter-spacing:.04em;font-size:11px}.csel-wrap{color:var(--t3);flex-direction:column;gap:6px;font-size:12px;display:flex;position:relative}.csel{width:100%;color:var(--t3);font:14px var(--mono);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;padding:12px 14px;transition:outline-color .2s,box-shadow .2s;display:flex}.csel:after{content:"";width:7px;height:7px;transition:transform .25s var(--ease);border-bottom:1.5px solid;border-right:1.5px solid;transform:translateY(-2px)rotate(45deg)}.csel-wrap.open .csel:after{transform:translateY(2px)rotate(-135deg)}.csel-wrap.chosen .csel{color:var(--t1)}.csel:focus-visible,.csel-wrap.open .csel{outline-color:#fff;box-shadow:0 0 14px #ffffff26}.copts{z-index:5;backdrop-filter:blur(18px);animation:pop .2s var(--ease);background:#0e0e0ef5;border-radius:16px;flex-direction:column;gap:2px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 16px 40px #0009}.copts:before{content:"";border-radius:inherit;background:var(--g-rim);pointer-events:none;-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.copts[hidden]{display:none}.copts li{color:var(--t2);cursor:pointer;border-radius:11px;outline:0;padding:10px 12px;font-size:14px;display:block}.copts li:hover,.copts li:focus{color:var(--t1);background:#ffffff12}.copts li[aria-selected=true]{color:var(--t1)}.vh{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:12px}.split .about-intro{padding-bottom:calc(clamp(22px,2.4vw,40px) + 44px);position:relative}.split .about-intro>.foot{position:absolute;bottom:clamp(22px,2.4vw,40px);left:clamp(22px,2.4vw,40px)}@media (width<=1100px){.split .about-intro{padding-bottom:clamp(22px,2.4vw,40px)}.split .about-intro>.foot{position:static}}:root :is(.t,.xc,.xc>.im,.xrow .xc .im,.post,.post .media,.entry,.facts3>div,.split .photo,.split .text,.chap .im,.chap .tx,.ph2,.ref,.chc .shot,.chc video,.video,.strip>div,.take,.about-intro blockquote,.li,#glcard,.xc .did,.tile){border-radius:0}:root.scrolling .page{pointer-events:none}.phead>h2{max-width:46ch;margin:6px 0 0}.pcol .pstrip{margin-top:16px}.pcol>.notice{margin:10px 0 0}@media (width>=1800px){.pcol{grid-row:span 3;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:0;display:grid}.pcol>.phead{align-self:end}}.notice{color:var(--t3);max-width:60ch;margin:2px 0 12px;font-size:12px;line-height:1.5}.pv .info .notice{margin:auto 0 0;padding-top:10px}.facts .fact-link{color:var(--t1);align-items:center;gap:6px;display:inline-flex}.facts .fact-link svg{width:14px;height:14px;transition:transform .3s var(--spring)}.facts .fact-link:hover svg{transform:translate(3px)}.facts .fact-link:hover b{text-underline-offset:3px;text-decoration:underline}
