@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(/_astro/inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(/_astro/inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(/_astro/inter-greek-400-normal.q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(/_astro/inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(/_astro/inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-cyrillic-ext-500-normal.B0yAr1jD.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-500-normal.BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-cyrillic-500-normal.BasfLYem.woff2) format("woff2"),url(/_astro/inter-cyrillic-500-normal.CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-greek-ext-500-normal.C4iEst2y.woff2) format("woff2"),url(/_astro/inter-greek-ext-500-normal.2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-greek-500-normal.BIZE56-Y.woff2) format("woff2"),url(/_astro/inter-greek-500-normal.Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-vietnamese-500-normal.DOriooB6.woff2) format("woff2"),url(/_astro/inter-vietnamese-500-normal.mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-ext-500-normal.CV4jyFjo.woff2) format("woff2"),url(/_astro/inter-latin-ext-500-normal.BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(/_astro/inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(/_astro/inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(/_astro/inter-greek-700-normal.BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(/_astro/inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(/_astro/inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-ext-600-normal.4vooXBpG.woff2) format("woff2"),url(/_astro/dm-sans-latin-ext-600-normal.DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-600-normal.Aqo67rzb.woff2) format("woff2"),url(/_astro/dm-sans-latin-600-normal.BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-ext-700-normal.CJIcxD6K.woff2) format("woff2"),url(/_astro/dm-sans-latin-ext-700-normal.BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-700-normal.DvUfVpUG.woff2) format("woff2"),url(/_astro/dm-sans-latin-700-normal.CUSSCpQX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fffceb;--ink: #080f15;--red: #a33a29;--mid: #616f74;--rule: #cfcfc6;--tile: #e2e7dc;--gutter: 20px;--pad: clamp(16px, 3.5vw, 72px);--serif: "Courier Prime", "Courier New", Courier, monospace;--mono: "Courier Prime", "Courier New", Courier, monospace;--s: 13px;--m: 18px;--l: clamp(34px, 5vw, 68px);--tab-h: clamp(46px, 4.4vw, 62px);--strip-h: calc(var(--tab-h) + 6px);--display: "Playfair Display", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:70px}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:400 var(--m)/1.5 var(--serif)}a{color:inherit;text-decoration:none}a:hover{color:var(--red);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}img{display:block;max-width:100%;height:auto;background:var(--tile)}h1,h2,h3{font-weight:400;letter-spacing:0;margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.wrap{padding-left:var(--pad);padding-right:var(--pad)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}.label,.meta{font-family:var(--mono);font-size:var(--s);line-height:1.5}.label{color:var(--mid)}.rule{border-top:1px solid var(--rule)}.site-header{padding-top:18px;padding-bottom:16px;align-items:baseline;position:sticky;top:0;background:var(--bg);z-index:100}.site-header .name{grid-column:1 / span 4;font-size:22px;letter-spacing:0}.site-header nav{grid-column:8 / -1;display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap;font:var(--s)/1.4 var(--mono)}.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:3px}.site-footer{padding-top:18px;padding-bottom:40px;font:var(--s)/1.5 var(--mono)}.site-footer>:nth-child(1){grid-column:1 / span 4}.site-footer>:nth-child(2){grid-column:5 / span 4}.site-footer>:nth-child(3){grid-column:9 / -1;text-align:right;color:var(--mid)}.home-intro{padding-top:clamp(38px,6vw,84px);padding-bottom:clamp(26px,4vw,56px)}.home-intro{--t: clamp(32px, 5.1vw, 74px)}.home-intro h1{font-family:var(--display);font-size:var(--t);line-height:1.04;letter-spacing:-.025em}.home-intro p{margin:6px 0 0;max-width:none;white-space:nowrap;font-size:calc(var(--t) * .594);line-height:1.12;letter-spacing:0;font-style:normal;color:var(--red)}.folders{flex:1;display:flex;flex-direction:column}.folder:last-child{flex:1;display:flex;flex-direction:column}.folder:last-child .folder-body{flex:1}.tab{position:relative;z-index:1;filter:drop-shadow(0 -1px 0 rgba(70,50,10,.28)) drop-shadow(0 -3px 5px rgba(70,50,10,.1))}.strip{box-shadow:0 -1px #46320a47,0 -3px 6px #46320a14}.folder{position:relative;color:var(--fg)}.folder+.folder{margin-top:calc(-1 * var(--tab-h))}.folder-head{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;pointer-events:none}.folder-head>*{pointer-events:auto}.tab{display:inline-flex;height:var(--tab-h);margin-left:var(--x, calc(var(--i) * min(11%, 170px)));vertical-align:bottom}.tab-side{width:calc(var(--tab-h) * .8);height:100%;fill:var(--c);flex:none}.tab-side:first-child{margin-right:-1px}.tab-side:last-child{margin-left:-1px}.tab-edge{display:none}.tab-label{display:flex;align-items:center;background:var(--c);justify-content:center;width:18.05ch;padding:4px 0 0;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(12.6px,1.37vw,19.4px);line-height:1;white-space:nowrap}.strip{display:flex;justify-content:flex-end;align-items:flex-start;height:var(--strip-h);background:var(--c);margin-top:-1px;padding:5px var(--pad) 0}.strip-meta{font:var(--s)/1.4 var(--mono);display:inline-flex;gap:10px;align-items:center}.chev{display:inline-block;font-size:16px;transition:transform .3s ease}.folder[data-open] .chev{transform:rotate(-90deg)}.folder-head:hover .tab-label{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.folder-body{display:grid;grid-template-rows:0fr;background:var(--c);transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}.folder[data-open] .folder-body{grid-template-rows:1fr}.folder-inner{overflow:hidden;min-height:0}.folder[data-open] .folder-inner{padding-bottom:calc(var(--tab-h) + 40px)}.folder:last-child[data-open] .folder-inner{padding-bottom:48px}.folder:last-child .strip{height:calc(var(--tab-h) * .7)}.folder-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:4px var(--pad) 24px var(--pad)}.intro{margin:0;max-width:46ch;font:var(--s)/1.6 var(--mono)}.scroll-btns{display:flex;gap:6px}.scroll-btns button{width:32px;height:32px;border:1px solid currentColor;border-radius:0;background:none;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.scroll-btns button:hover{background:var(--fg);color:var(--c)}.track{--card-h: clamp(280px, 52vh, 600px);display:flex;gap:clamp(20px,2.6vw,40px);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:0 var(--pad) 18px var(--pad);scroll-padding-left:var(--pad);scrollbar-width:none;cursor:grab}.track.dragging{cursor:grabbing;scroll-snap-type:none}.track.dragging *{pointer-events:none}.card{flex:none;display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always;color:inherit}.card:hover{text-decoration:none}.card-cap{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;font:500 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.04em}.panel{display:block;height:var(--card-h);aspect-ratio:.69;overflow:hidden}.panel img{width:100%;height:100%;object-fit:cover;user-select:none;transition:transform .6s ease}a.card:hover .panel img{transform:scale(1.025)}a.card:hover .card-cap span:first-child{text-decoration:underline;text-underline-offset:3px}.panel-text{display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid currentColor}.panel-wide{aspect-ratio:auto;width:clamp(300px,30vw,440px);overflow-y:auto}.card-title{font-size:clamp(22px,2vw,28px);line-height:1.15}.card-sum,.card-more,.panel-text ul{font:var(--s)/1.55 var(--mono)}.card-more{margin-top:auto}a.card:hover .panel-text,a.card:hover .panel-all{background:var(--fg);color:var(--c)}.panel-text ul{list-style:none;margin:0;padding:0}.panel-text li{display:grid;grid-template-columns:7.5em 1fr;gap:10px;padding:8px 0;border-top:1px solid color-mix(in srgb,currentColor 35%,transparent)}.panel-text li:first-child{border-top:0;padding-top:0}.card-bio{font-size:17px;line-height:1.5}.card-bio p{margin:0 0 .8em}.panel-all{display:flex;align-items:center;justify-content:center;aspect-ratio:auto;width:180px;font:var(--s)/1.4 var(--mono);border:1px dashed currentColor}.page-head{padding-top:clamp(32px,6vw,80px);padding-bottom:28px}.page-head h1{grid-column:1 / span 9;font-size:var(--l);line-height:1.02}.page-head .aside{grid-column:10 / -1;align-self:end;text-align:right}.accent-band{background:var(--c, transparent);color:var(--fg, inherit)}.accent-band .label{color:inherit;opacity:.8}.tiles{row-gap:44px;padding-top:32px;padding-bottom:80px}.tile{grid-column:span 4}.tile .frame{aspect-ratio:4 / 3;overflow:hidden;background:var(--tile)}.tile .frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.tile:hover .frame img{transform:scale(1.03)}.tile .caption{display:flex;justify-content:space-between;gap:12px;padding-top:8px;font:var(--s)/1.4 var(--mono)}.tile.text .frame{display:flex;align-items:flex-end;padding:16px;font-size:24px;line-height:1.1}.index{width:100%;border-collapse:collapse;font:var(--s)/1.45 var(--mono)}.index th{text-align:left;font-weight:400;color:var(--mid);padding:8px 0;border-bottom:1px solid var(--ink)}.index td{padding:10px 12px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}.index td:nth-child(2){font:20px/1.2 var(--serif)}.index tr[data-href]{cursor:pointer}.index tbody tr:hover td{background:var(--ink);color:var(--bg)}.index .n{width:4em;color:var(--mid)}.index .y{width:5em;text-align:right;padding-right:0}.filters{display:flex;gap:6px;flex-wrap:wrap;padding:20px 0 14px}.filters button{font:var(--s)/1.4 var(--mono);border:1px solid var(--ink);background:none;padding:4px 10px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.detail{padding-top:24px;padding-bottom:100px}.detail .info{grid-column:1 / span 3;align-self:start;position:sticky;top:80px}.detail .info dl{margin:0}.detail .info dt{color:var(--mid);font:var(--s)/1.4 var(--mono);margin-top:14px}.detail .info dt:first-child{margin-top:0}.detail .info dd{margin:2px 0 0;font-size:17px}.detail .media{grid-column:4 / -1;display:grid;gap:28px}.detail .media figure{margin:0}.detail .media figcaption{font:var(--s)/1.4 var(--mono);color:var(--mid);padding-top:6px}.prose{max-width:36em}.prose p,.prose li{font-size:18px;line-height:1.6}.prose h2{font-size:28px;margin:1.4em 0 .4em}.prose blockquote{margin:1.4em 0;padding-left:18px;border-left:2px solid var(--ink);font-style:italic}.prose a{text-decoration:underline;text-underline-offset:3px}.text-col{grid-column:4 / span 7}.cv-section{padding:22px 0 30px}.cv-section>h2{grid-column:1 / span 3;font:var(--s)/1.4 var(--mono);color:var(--mid)}.cv-section>.rows{grid-column:4 / -1}.cv-row{display:grid;grid-template-columns:9em 1fr;gap:var(--gutter);padding:10px 0;border-bottom:1px solid var(--rule);font-size:19px}.cv-row:first-child{padding-top:0}.cv-row .when{color:var(--mid);font:var(--s)/1.4 var(--mono);padding-top:4px}.cv-row .what p{margin:4px 0 0;color:var(--mid);font:var(--s)/1.55 var(--mono)}.btn{display:inline-block;border:1px solid currentColor;padding:6px 12px;font:var(--s)/1.4 var(--mono)}.btn:hover{background:var(--ink);color:var(--bg);text-decoration:none}@media(max-width:900px){.tile{grid-column:span 6}.detail .info,.detail .media,.text-col,.cv-section>h2,.cv-section>.rows,.page-head h1,.page-head .aside{grid-column:1 / -1;text-align:left}.detail .info{position:static;margin-bottom:28px}.cv-section>h2{margin-bottom:14px}.site-header .name{grid-column:1 / -1}.site-header{position:static}.site-header nav{grid-column:1 / -1;justify-content:flex-start;gap:6px 14px;padding-top:8px}html{scroll-padding-top:0}}@media(max-width:560px){.tile{grid-column:1 / -1}.index .hide-sm{display:none}.cv-row{grid-template-columns:1fr;gap:2px}.site-footer>*{grid-column:1 / -1!important;text-align:left!important;padding-bottom:6px}:root{--tab-h: 40px}.tab-side{width:26px}.tab-label{width:16.7ch;font-size:10.8px}.home-intro{--t: min(calc((100vw - 2 * var(--pad)) / 7.9), 56px)}.home-intro h1{white-space:nowrap}.strip-meta{display:none}.site-header .name{font-size:18px}.scroll-btns button[data-dir]{pointer-events:none;opacity:.45}.track{--card-h: 58vh}.panel-wide{width:80vw}.panel-all{width:36vw}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}main{flex:1;display:flex;flex-direction:column}main>*{flex:none}.prose blockquote{color:var(--red);border-left-color:var(--red)}.page-head h1{letter-spacing:0}.folder a:hover,.accent-band a:hover{color:inherit}@media(min-width:901px){.folders{--folder-w: 1280px;--folder-h: min(720px, 100svh);--border: 32px;flex:none;width:min(var(--folder-w),100% - 2 * var(--pad));margin:0 0 var(--pad) var(--pad)}.folder:last-child,.folder:last-child .folder-body{flex:none}.strip{padding-right:var(--border)}.folder-inner{--pb: calc(var(--tab-h) + 20px)}.folder:last-child .folder-inner{--pb: 28px}.folder[data-open] .folder-inner,.folder:last-child[data-open] .folder-inner{height:calc(var(--folder-h) - var(--tab-h) - var(--strip-h));padding-bottom:var(--pb)}.folder:last-child[data-open] .folder-inner{height:calc(var(--folder-h) - var(--tab-h) - var(--tab-h) * .7)}.folder-top{padding:4px var(--border) 24px;min-height:70px}.track{--card-h: calc(var(--folder-h) - var(--tab-h) - var(--strip-h) - 70px - 26px - 22px - var(--pb));margin:0 var(--border);padding:0 0 14px;scroll-padding-left:0}.folder:last-child .track{--card-h: calc(var(--folder-h) - var(--tab-h) - var(--tab-h) * .7 - 70px - 26px - 22px - var(--pb))}}.scroll-btns{margin-left:auto}.panel-text a.card-title[href^="mailto:"]{font-size:18px;overflow-wrap:anywhere}@media(min-width:901px){.folders{--corner: 12px}.strip{border-radius:var(--corner) var(--corner) 0 0}.folder:last-child .folder-body{border-radius:0 0 var(--corner) var(--corner)}.folder:last-child:not([data-open]) .strip{border-radius:var(--corner)}}@media(min-width:901px){.card-bio{width:clamp(320px,40vw,560px);font-size:16px}}@media(min-width:901px){.folder:not(:last-child) .folder-body{padding-bottom:var(--corner);margin-bottom:calc(-1 * var(--corner))}}.track-wrap{position:relative}.work{display:contents}.work-more{display:none}.work.is-open .work-more{display:contents}.work.is-open .work-more>*{animation:push-in .5s cubic-bezier(.2,.7,.2,1) both}.work.is-open .work-more>:nth-child(2){animation-delay:.04s}.work.is-open .work-more>:nth-child(3){animation-delay:.08s}.work.is-open .work-more>:nth-child(n+4){animation-delay:.12s}@keyframes push-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:none}}.work.is-open .work-card .card-cap span:first-child{text-decoration:underline;text-underline-offset:3px}.work.is-open .work-card{cursor:zoom-in}button.card{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:zoom-in}.panel.natural{aspect-ratio:auto}.panel.natural img{width:auto;height:100%;max-width:none}button.card:hover .panel img{transform:scale(1.02)}.panel-info{width:clamp(300px,32vw,460px);aspect-ratio:auto;overflow-y:auto;gap:14px}.info-sum{margin:0;font-size:19px;line-height:1.3}.info-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font:var(--s)/1.45 var(--mono)}.info-facts dt{opacity:.65}.info-facts dd{margin:0}.info-text{font:14px/1.6 var(--mono)}.info-text p{margin:0 0 .9em}.info-text a{text-decoration:underline;text-underline-offset:2px}.work-close{position:absolute;z-index:3;top:25.6px;left:max(0px,calc(var(--border, 16px) - 32px));width:32px;height:32px;border:1px solid currentColor;border-radius:0;background:var(--c);color:inherit;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}.work-close svg{transition:transform .26s ease}.folder.has-work .work-close{display:flex}.work-close:hover{background:var(--fg);color:var(--c)}.work-close.spin svg{transform:rotate(-90deg)}.lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;background:#100f0df5;color:#fffceb;touch-action:pan-y}.lightbox[hidden]{display:none}html.lb-on{overflow:hidden}.lb-stage{grid-column:2;margin:0;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0 20px;min-width:0}.lb-stage img{max-width:100%;max-height:calc(100svh - 110px);width:auto;height:auto;object-fit:contain;background:none;user-select:none}.lb-stage figcaption{padding-top:12px;font:var(--s)/1.4 var(--mono);opacity:.8}.lightbox button{background:none;border:0;color:inherit;cursor:pointer;font-family:var(--mono)}.lb-prev,.lb-next{height:100%;font-size:44px;opacity:.75}.lb-prev:hover,.lb-next:hover{opacity:1}.lb-prev{grid-column:1}.lb-next{grid-column:3}.lb-close{position:absolute;top:12px;right:14px;width:40px;height:40px;font-size:32px;line-height:1;z-index:1}@media(max-width:560px){.lightbox{grid-template-columns:36px 1fr 36px}.lb-prev,.lb-next{font-size:30px}.panel-info{width:82vw}}.lb-stage img{-webkit-user-drag:none}.lightbox{cursor:grab}.lightbox button{cursor:pointer}.track.gliding{scroll-snap-type:none}.home-link,.home-link:hover{color:inherit;text-decoration:none}@media(max-width:900px){.track{--fit: calc(100vw - 2 * var(--pad))}.track .card,.panel{max-width:var(--fit)}.panel.natural{width:var(--fit);height:auto;max-height:var(--card-h);display:flex;align-items:center}.panel.natural img{width:100%;height:auto;max-height:var(--card-h);object-fit:contain}.panel-info,.panel-wide{width:var(--fit)}.intro{max-width:none}}.track.dragging,.track.gliding{scroll-snap-type:none}.lb-stage img.in-next{animation:lb-in .42s cubic-bezier(.2,.75,.25,1) both;--from: 60px}.lb-stage img.in-prev{animation:lb-in .42s cubic-bezier(.2,.75,.25,1) both;--from: -60px}@keyframes lb-in{0%{opacity:0;transform:translate(var(--from))}to{opacity:1;transform:none}}@media(max-width:900px){button.card,.work.is-open .work-card{cursor:default}button.card:hover .panel img{transform:none}}@media(max-width:900px){.work-close{left:var(--pad)}}@media(max-width:900px){.panel-info{padding-top:46px}}.work-close,.work-close:hover,.scroll-btns button,.scroll-btns button:hover{background:transparent;color:inherit}.work-close:hover,.scroll-btns button:hover{border-width:1.5px}.work-close{left:var(--border, var(--pad))}.track.panning,.track.panning *{user-select:none;cursor:grabbing}@supports (-moz-appearance: none){html{scrollbar-color:var(--ink) transparent}.panel-text,.info-scroll{scrollbar-color:var(--ink) transparent;scrollbar-width:thin}}::-webkit-scrollbar{width:12px;height:12px;background:transparent;-webkit-appearance:none}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:transparent;border:2px solid transparent;border-radius:8px;box-shadow:inset 0 0 0 1px var(--ink);min-height:40px}::-webkit-scrollbar-corner{background:transparent}.track::-webkit-scrollbar{display:none}.panel-info{overflow:hidden}.info-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:4px}.work-close,.work-close:hover{left:auto;right:var(--border, var(--pad));color:#fff;border-color:#fff;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.55)) drop-shadow(0 1px 3px rgba(0,0,0,.25))}.panel-info{padding-top:46px}.scroll-btns{display:grid;grid-template-columns:32px 32px;gap:6px;align-self:flex-end}.scroll-btns .folder-close{grid-column:2}.folder-close svg{transition:transform .26s ease}.folder-close.spin svg{transform:rotate(-90deg)}.work-close{display:none!important}.panel-info{padding-top:20px}@media(max-width:900px){.scroll-btns button[data-dir]{display:none}.scroll-btns{grid-template-columns:32px}.scroll-btns .folder-close{grid-column:1}}@media(min-width:901px){.folders>.folder:last-child{min-height:var(--folder-h);display:flex;flex-direction:column}.folders>.folder:last-child .folder-body{flex:1}}@media(min-width:901px){.folders>.folder:last-child:not([data-open]) .strip{border-radius:var(--corner) var(--corner) 0 0}}.cv-more>summary{list-style:none;cursor:pointer}.cv-more>summary::-webkit-details-marker{display:none}.cv-more>summary>:last-child:after{content:"+";display:inline-block;margin-left:.6em;opacity:.55;transition:transform .2s}.cv-more[open]>summary>:last-child:after{transform:rotate(45deg)}.cv-more>summary:hover>:last-child{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cv-drop{display:flex;flex-direction:column;gap:8px}.cv-drop-text{margin:0}.cv-details{list-style:none;margin:0;padding:0}.cv-details li{display:block!important;padding:6px 0!important;border:0!important}.cv-d-title{display:block}.cv-d-meta{display:block;opacity:.65}.cv-d-text{display:block;margin-top:2px;opacity:.85}.panel-text li.cv-li-more{display:block}.panel-text .cv-more>summary{display:grid;grid-template-columns:7.5em 1fr;gap:10px}.panel-text .cv-drop{padding:8px 0 4px calc(7.5em + 10px)}.cv-row-more{border-bottom:1px solid var(--rule)}.cv-row-more>.cv-row{border-bottom:0;padding-top:10px}.rows>.cv-row-more:first-child>.cv-row{padding-top:0}.cv-row-more .cv-drop{padding:0 0 14px calc(171px + var(--gutter));color:var(--mid);font:var(--s)/1.55 var(--mono)}.cv-row-more .cv-d-title{color:var(--ink)}@media(max-width:560px){.panel-text .cv-more>summary{grid-template-columns:1fr;gap:2px}.panel-text .cv-drop,.cv-row-more .cv-drop{padding-left:0}}.cv-d-link{display:inline;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cv-d-count{display:inline-block;margin-left:.5em;font-size:.85em;opacity:.6;text-decoration:none}.cv-d-count:before{content:"▸ "}.cv-imgs{display:contents}.cv-imgs>.card{animation:push-in .5s cubic-bezier(.2,.7,.2,1) both}.cv-d-link.is-on{text-decoration-thickness:2px}.cv-viewer{display:none;position:relative;height:min(70vh,640px);margin:10px 0 14px;background:var(--bg);color:var(--ink)}.cv-viewer.is-on{display:block}.cv-viewer figure{position:absolute;inset:48px 64px 16px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.cv-viewer img{max-width:100%;max-height:calc(100% - 34px);width:auto;height:auto;object-fit:contain}.cv-viewer figcaption{font:13px/1.4 var(--mono);white-space:pre;opacity:.75}.cv-viewer button{position:absolute;border:0;background:none;color:inherit;cursor:pointer;font:300 40px/1 var(--mono);padding:6px 14px}.cvv-close{top:4px;right:8px}.cvv-prev{left:4px;top:50%;transform:translateY(-50%)}.cvv-next{right:4px;top:50%;transform:translateY(-50%)}.cv-viewer.single .cvv-prev,.cv-viewer.single .cvv-next{display:none}@media(max-width:560px){.cv-viewer figure{inset:48px 8px 44px}.cvv-prev,.cvv-next{top:auto;bottom:0;transform:none;font-size:32px}.cv-viewer figcaption{white-space:normal;text-align:center}}.cv-d-ext{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cv-d-arrow{display:inline-block;margin-left:.3em;font-size:.85em;opacity:.6;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.work.is-open .work-card .card-cap span:first-child,.work.is-open .work-more>.card:first-child .card-cap span:first-child{cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.info-link{margin:4px 0 0;font:13px/1.5 var(--mono)}.info-link a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cv-row-link{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cv-drop-link{margin:0}.cv-drop-link a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.photo-all{display:contents}.photo-all>.card{cursor:zoom-in}.gal,.gal-more{display:contents}.gal-more>*{display:none}.gal.is-open .gal-more>*{display:flex;animation:push-in .5s cubic-bezier(.2,.7,.2,1) both}.gal.is-open .gal-more>:nth-child(2){animation-delay:.04s}.gal.is-open .gal-more>:nth-child(n+3){animation-delay:.08s}.work.is-open .work-more>.gal>.gal-card{animation:push-in .5s cubic-bezier(.2,.7,.2,1) .06s both}.gal-card .gal-i,.gal.is-open .gal-card .gal-n{display:none}.gal.is-open .gal-card .gal-i{display:inline}.gal.is-open .gal-card .card-cap>span:first-child{cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.gal.is-open .gal-card{cursor:zoom-in}@media(max-width:900px){.gal.is-open .gal-card{cursor:default}}.gal:not(.is-open) .gal-card{cursor:pointer}:root{--bg: #ffffff;--ink: #111111;--red: #e30613;--mid: #767676;--rule: #d9d9d9;--tile: #eeeeee;--serif: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--display: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--line: 1px}body{font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}::selection{background:var(--red);color:#fff}.home-intro{--t: clamp(17.3px, 2.69vw, 40.3px)}.home-intro p{display:none}.home-intro{padding-bottom:clamp(39px,6vw,84px)}.home-intro h1,.home-intro p{font-family:"DM Sans",var(--display)}.home-intro h1{font-weight:700;letter-spacing:.03em;line-height:1;text-transform:uppercase}.home-intro p{font-weight:600;letter-spacing:.04em;font-size:calc(var(--t) * .4975);line-height:1.1;margin-top:8px;white-space:nowrap}.folder{--c: var(--bg) !important;--fg: var(--ink) !important}.tab,.folder-head:hover .tab{filter:none;will-change:transform}:root{--tab-h: clamp(32.2px, 3.08vw, 43.4px);--tab-w: calc(clamp(46px, 4.4vw, 62px)*3.4) ;--side-w: calc(clamp(46px, 4.4vw, 62px)*.8) }.folder-head{overflow:hidden}.tab-side{width:var(--side-w)}.tab-side:last-child{display:none}.tab-side:first-child{fill:none;overflow:visible;position:relative;z-index:1;transform:translateY(.5px)}.tab-side:first-child path:not(.tab-edge){display:none}.tab-edge{display:inline;fill:none;stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke}.tab:after{content:"";position:absolute;right:calc(100% - 1px);top:100%;width:100vw;height:1px;background:var(--ink)}.tab-label{position:relative;width:auto;min-width:0;background:none;justify-content:flex-start;align-items:center;padding:1px 12px 0 6px;text-transform:none;font-weight:500;letter-spacing:-.02em;font-size:clamp(16px,1.55vw,23px);transition:color .2s}.tab-label:before{content:"";position:absolute;left:-1px;right:0;top:0;height:1px;background:var(--ink)}.folder-head:hover .tab-label{text-decoration:none}.folder[data-open] .tab-label{color:var(--ink)}.strip{background:none;box-shadow:none;border-top:0;border-radius:0!important;margin-top:0}.tab-label .strip-meta{margin-left:0;padding-left:24px;color:var(--mid);font:400 13px/1 var(--mono);letter-spacing:0}.tab-label .chev{font-size:14px}.folder-body{background:none;border-radius:0!important}.intro{font-size:15px;line-height:1.5}.card-cap{font-weight:500;font-size:12px;letter-spacing:.02em}.card-title{font-weight:500;letter-spacing:-.02em}.panel-text{border-color:var(--ink)}.panel-all{border-style:solid}.info-sum{font-weight:500;letter-spacing:-.01em}.info-text{font-size:15px;line-height:1.55}.card-bio{font-size:17px;line-height:1.45}.lightbox{background:#fffffff7;color:var(--ink)}.accent-band{background:none;color:inherit}.page-head{border-bottom:var(--line) solid var(--ink)}.page-head h1{font-weight:700;letter-spacing:-.045em;line-height:.95}.site-header{background:var(--bg);border-bottom:var(--line) solid var(--ink)}.site-header .name{font-weight:700;letter-spacing:-.03em}.site-header nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration:none}.prose a{text-decoration:none;border-bottom:1px solid currentColor}.index td:nth-child(2){font-weight:500;letter-spacing:-.01em}.index tbody tr:hover td{background:none}.cv-row{font-size:18px}.site-footer{border-top:var(--line) solid var(--ink)}@media(max-width:560px){:root{--tab-h: 28px;--tab-w: 118px;--side-w: 26px}.tab-label{font-size:13px;padding-left:4px;min-width:var(--tab-w)}.home-intro{--t: min(calc((100vw - 2 * var(--pad)) / 19.2), 24px)}}@media(max-width:560px){:root{--s: 18px;--tab-h: 42px;--tab-w: 177px;--side-w: 39px}.home-intro{--t: min(calc((100vw - 2 * var(--pad)) / 12.8), 36px)}.home-intro{padding-bottom:39px}.tab-label{font-size:19.5px;padding-left:6px}.intro{font-size:17.5px}.card-cap{font-size:16px;padding-bottom:12px}.card-title{font-size:30px}.panel-text a.card-title[href^="mailto:"],.card-bio{font-size:22px}.info-sum{font-size:26px}.info-text{font-size:17.5px}.info-link{font-size:18px}.cv-row{font-size:24px}.site-header .name{font-size:26px}.page-head h1{font-size:48px}.prose p,.prose li,.detail .info dd{font-size:22px}.index td:nth-child(2){font-size:26px}.tile.text .frame{font-size:30px}}:root{--link-hover: #03ff50}a:hover,.folder a:hover,.accent-band a:hover,.prose a:hover,.site-header a:hover,.site-header nav a[aria-current=page]:hover,.site-footer a:hover,.home-link:hover{color:var(--link-hover)}a.card:hover .card-cap,a.tile:hover{color:var(--link-hover)}a.card:hover .panel-text,a.card:hover .panel-all,.btn:hover{background:var(--link-hover);border-color:var(--link-hover);color:var(--ink)}.index tbody tr:hover td{background:none;color:var(--link-hover)}.folder-head:hover .tab-label,.folder-head:hover .tab-label .strip-meta,.folder-head:hover .strip-meta,.cv-more>summary:hover{color:var(--link-hover)}.cv-d-link:hover,.cv-viewer button:hover{color:var(--link-hover)}.work.is-open .work-card .card-cap span:first-child:hover,.work.is-open .work-more>.card:first-child .card-cap span:first-child:hover{color:var(--link-hover)}.cv-row-link:hover,.cv-drop-link a:hover{color:var(--link-hover)}
