@font-face{font-family:Space Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/97477fae14fa1fa6-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/98443dbd2a8783a6-s.woff2) format("woff2");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:Space Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/272c17ecaad3395d-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Mono;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/6c1a3463168b583b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Mono;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/776b57e4bef3813b-s.woff2) format("woff2");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:Space Mono;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/736f18f52e8d5d72-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ae822095a172cc5c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3c70c5716f1730b3-s.woff2) format("woff2");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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fc727f226c737876-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/77fb5eec12c66d49-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/281dae1e814de8c6-s.woff2) format("woff2");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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/806de4d605d3ad01-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Mono Fallback;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}.__className_a5bf43{font-family:Space Mono,Space Mono Fallback}.__variable_a5bf43{--font-space-mono:"Space Mono","Space Mono Fallback"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh;color:#c8c5c0;font-family:Space Mono,monospace}body,header{background:#0f0f0f}header{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 24px 14px;display:flex;justify-content:flex-end}.header-inner{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.header-row{display:flex;align-items:center}.header-row--top{gap:16px}.header-row--nav{gap:20px}.name-link{font-size:.7rem;color:#c8c5c0;text-decoration:none;letter-spacing:.02em;transition:opacity .15s}.name-link:hover{opacity:.7}.icon-link{color:#555;display:flex;align-items:center;transition:color .15s}.icon-link:hover{color:#c8c5c0}.nav-link{font-size:.7rem;color:#555;text-decoration:none;letter-spacing:.02em;transition:color .15s}.nav-link.active,.nav-link:hover{color:#c8c5c0}@media (max-width:640px){.name-link{font-size:.95rem}.nav-link{font-size:.9rem}.icon-link svg{width:18px;height:18px}header{padding:16px 20px 12px}.header-row--top{gap:14px}.header-row--nav{gap:18px}}.home-main{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px 24px}.featured-wrap{width:100%;max-width:860px;position:relative}.featured-link{display:block;position:relative}.featured-img{width:100%!important;height:auto!important;max-height:76vh;object-fit:cover;display:block!important;filter:grayscale(12%);transition:opacity .2s}.featured-link:hover .featured-img{opacity:.85}.featured-label{position:absolute;bottom:12px;left:14px;font-size:.6rem;color:rgba(200,197,192,.45);letter-spacing:.08em;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.gallery-main{padding:calc(80px + 32px) 24px 80px}.year-jumps{display:flex;gap:20px;margin-bottom:36px;flex-wrap:wrap}.year-jump{font-size:.65rem;color:#444;text-decoration:none;letter-spacing:.06em;transition:color .15s}.year-jump:hover{color:#c8c5c0}.year-section{margin-bottom:56px}.year-header{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid #1c1c1c;padding-bottom:8px;margin-bottom:16px}.year-label{font-size:.65rem;color:#c8c5c0;letter-spacing:.06em}.year-count{font-size:.55rem;color:#333;letter-spacing:.1em}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:4px;gap:4px}.photo-item{display:flex;flex-direction:column}.photo-thumb{cursor:pointer;overflow:hidden;aspect-ratio:4/3;background:#141414;position:relative}.photo-thumb:hover img{opacity:.7}.photo-writing-hint{position:absolute;bottom:0;left:0;right:0;padding:16px 10px 6px;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none;display:flex;align-items:flex-end}.writing-snippet{font-size:.5rem;color:rgba(200,197,192,.4);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.photo-thumb:hover .photo-writing-hint{background:linear-gradient(transparent,rgba(0,0,0,.7))}.photo-thumb:hover .writing-snippet{color:rgba(200,197,192,.6)}.photo-caption{text-align:right;margin-bottom:5px}.caption-alt{font-size:.58rem;color:#888;letter-spacing:.03em;margin-top:2px}.lightbox{position:fixed;inset:0;background:rgba(10,10,10,.97);z-index:1000;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.lightbox.active{display:flex;opacity:1}.lb-topbar{position:absolute;top:0;left:0;right:0;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.lb-counter{font-size:.6rem;color:#333;letter-spacing:.1em}.lb-close,.lb-next,.lb-prev{background:none;border:none;color:#444;cursor:pointer;font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.12em;padding:4px;transition:color .15s}.lb-close:hover,.lb-next:hover,.lb-prev:hover{color:#c8c5c0}.lb-prev{left:16px}.lb-next,.lb-prev{position:absolute;top:50%;transform:translateY(-50%);padding:12px;font-size:1rem}.lb-next{right:16px}.lb-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:90vw}.lb-img-wrap{display:flex;align-items:center;justify-content:center;width:90vw;height:82vh}.lb-img-frame{position:relative;width:100%;height:100%;overflow:hidden}.lb-meta{display:flex;gap:10px;align-items:baseline}.lb-meta-alt{color:#888}.lb-meta-alt,.lb-meta-year{font-size:.58rem;letter-spacing:.04em}.lb-meta-year{color:#333}.lb-writing{position:absolute;bottom:0;left:0;right:0;background:rgba(10,10,10,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;max-height:15%;overflow:hidden;transition:max-height .35s ease,background .35s ease}.lb-writing.expanded{max-height:55%;overflow-y:auto;background:rgba(10,10,10,.82)}.lb-writing-peek{padding:14px;font-size:.58rem;color:rgba(200,197,192,.5);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-writing:hover .lb-writing-peek{color:rgba(200,197,192,.7)}.lb-writing-full{padding:14px 18px;font-size:.62rem;color:rgba(200,197,192,.85);letter-spacing:.03em;line-height:2;white-space:pre-wrap}body.lb-open{overflow:hidden}@media (max-width:640px){.year-jump{font-size:.9rem}.year-jumps{gap:24px;margin-bottom:32px}.year-label{font-size:.9rem}.year-count{font-size:.75rem}.lb-next,.lb-prev{font-size:1.5rem;padding:20px 22px}.lb-close{font-size:.85rem}}.films-grid{display:flex;flex-direction:column;gap:2px}.film-card{display:flex;flex-direction:row;gap:24px;text-decoration:none;color:inherit;padding:16px 0;border-bottom:1px solid #141414;align-items:flex-start;transition:border-color .15s}.film-card:hover{border-color:#2a2a2a}.film-thumb{flex-shrink:0;width:280px;aspect-ratio:16/9;background:#141414;position:relative;overflow:hidden}.film-card:hover .film-thumb img{opacity:.7}.film-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.film-card:hover .film-play{opacity:1}.film-play svg{color:#c8c5c0;filter:drop-shadow(0 0 4px rgba(0,0,0,.8))}.film-caption{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:6px;padding-top:2px}.film-title{font-size:.85rem;color:#c8c5c0;letter-spacing:.02em}.film-description,.film-director{font-size:.7rem;color:#888;letter-spacing:.02em;line-height:1.7}.film-year{font-size:.58rem;color:#444;letter-spacing:.06em;margin-top:2px}.projects-main{padding:calc(80px + 32px) 24px 80px;max-width:1100px}.section-header{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid #1c1c1c;padding-bottom:8px;margin-bottom:16px}.section-label{font-size:.65rem;color:#c8c5c0;letter-spacing:.06em}.section-count{font-size:.55rem;color:#333;letter-spacing:.1em}.projects-grid{display:flex;flex-direction:column;gap:2px}.project-card{display:flex;flex-direction:row;gap:24px;text-decoration:none;color:inherit;padding:16px 0;border-bottom:1px solid #141414;align-items:flex-start;transition:border-color .15s}.project-card:hover{border-color:#2a2a2a}.project-thumb{flex-shrink:0;width:280px;aspect-ratio:16/9;background:#141414;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-card:hover .project-thumb img{opacity:.7}.project-thumb-placeholder{color:#2a2a2a;transition:color .25s}.project-card:hover .project-thumb-placeholder{color:#3a3a3a}.project-arrow{position:absolute;bottom:8px;right:10px;font-size:.58rem;color:rgba(200,197,192,0);letter-spacing:.08em;transition:color .2s;pointer-events:none}.project-card:hover .project-arrow{color:rgba(200,197,192,.55)}.project-caption{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:6px;padding-top:2px}.project-index{font-size:.6rem;color:#555;letter-spacing:.06em}.project-title{font-size:.85rem;color:#c8c5c0;letter-spacing:.02em}.project-desc{font-size:.7rem;color:#888;letter-spacing:.02em;line-height:1.7}.project-year{font-size:.58rem;color:#444;letter-spacing:.06em;margin-top:2px}@media (max-width:600px){.film-card,.project-card{flex-direction:column;gap:10px}.film-thumb,.project-thumb{width:100%}}@media (max-width:640px){.section-label{font-size:.9rem}.section-count{font-size:.75rem}}.empty-state{font-size:.65rem;color:#333;letter-spacing:.06em;padding:8px 0}