@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_8b3a0b;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_8b3a0b{font-family:__Inter_8b3a0b,__Inter_Fallback_8b3a0b;font-style:normal}.__variable_8b3a0b{--font-inter:"__Inter_8b3a0b","__Inter_Fallback_8b3a0b"}:root{--bg:#fff;--bg-glass:hsla(0,0%,100%,.62);--fg:#000;--muted:#8c8c8c;--strong:#333;--line:#e9e9e9;--accent:#000;--card:#f0f0f0;--menu-bg:#fff;--menu-fg:#000;--menu-muted:#8c8c8c;--menu-line:rgba(0,0,0,.12);--menu-scrim:rgba(0,0,0,.18);--font-display:var(--font-inter),system-ui,sans-serif;--font-body:var(--font-inter),system-ui,sans-serif;--font-mono:var(--font-inter),system-ui,sans-serif;--gap:22px;--wm-size:17px;--wm-weight:600;--wm-ls:-0.01em;--pad:34px;--header-h:74px;--gallery-pad:34px}[data-theme=dark]{--bg:#000;--bg-glass:rgba(0,0,0,.55);--fg:#fff;--muted:#6f6f6f;--strong:#ccc;--line:#1c1c1c;--accent:#fff;--card:#141414;--menu-bg:#000;--menu-fg:#fff;--menu-muted:#8a8a8a;--menu-line:hsla(0,0%,100%,.16);--menu-scrim:rgba(0,0,0,.45)}.app,.filter,.frame,.menu-btn .menu-bars i,.menu-panel,.proj-hero,.proj-root,.proj-shot,.site-header,.wordmark,body,html{transition:background-color .25s ease,color .25s ease,border-color .25s ease}@media (max-width:720px){:root{--pad:18px;--header-h:56px;--gallery-pad:14px;--wm-size:16px}}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{text-decoration:none}a,button{color:inherit}button{font:inherit}::selection{background:var(--accent);color:#fff}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--bg-glass);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid var(--line);flex:0 0 auto;transition:border-color .3s ease,box-shadow .3s ease,background-color .25s ease}.header-inner{display:flex;align-items:center;gap:20px;padding:0 var(--pad);min-height:var(--header-h);transition:min-height .45s cubic-bezier(.2,.7,.2,1)}.h-l{flex-direction:column;gap:0;min-width:0}.h-c,.h-l{display:flex;justify-content:center}.h-c{flex:1 1 auto;transition:opacity .3s ease,transform .3s ease}.h-r{display:flex;align-items:center;margin-left:auto}.wordmark{font-family:var(--font-display);font-size:var(--wm-size);font-weight:var(--wm-weight);letter-spacing:var(--wm-ls);color:var(--fg);line-height:1.05;white-space:nowrap;background:none;border:0;cursor:pointer;padding:0}.wm-role{font-family:var(--font-body);font-size:10.5px;line-height:1;letter-spacing:.05em;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;max-height:13px;opacity:1;transition:max-height .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease,margin-top .45s cubic-bezier(.2,.7,.2,1),transform .45s ease}.app.is-scrolled .header-inner{min-height:58px}.app.is-scrolled .wm-role{max-height:0;opacity:0;margin-top:0;transform:translateY(-4px)}.app.is-scrolled .h-c{opacity:0;pointer-events:none;transform:translateY(-4px)}.app.is-scrolled .site-header{border-bottom-color:transparent;box-shadow:0 8px 28px rgba(0,0,0,.07)}[data-theme=dark] .app.is-scrolled .site-header{border-bottom-color:var(--menu-line);box-shadow:none}.filters{display:flex;align-items:center;gap:clamp(18px,2.2vw,28px)}.filter{position:relative;background:none;border:0;cursor:pointer;padding:6px 1px;font-family:var(--font-body);font-size:13px;letter-spacing:.01em;color:var(--muted);white-space:nowrap;transition:color .25s ease}.filter.is-active,.filter:hover{color:var(--fg)}.filter:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.filter.is-active:after,.filter:hover:after{transform:scaleX(1)}.menu-btn{display:inline-flex;align-items:center;background:none;border:0;cursor:pointer;padding:9px;margin:-9px;color:var(--fg)}.menu-bars{position:relative;width:22px;height:11px;flex:0 0 auto}.menu-btn .menu-bars i{position:absolute;height:1.5px;background:var(--fg);transition:transform .4s cubic-bezier(.65,0,.18,1),width .4s cubic-bezier(.65,0,.18,1),top .4s cubic-bezier(.65,0,.18,1),background-color .25s ease}.menu-btn .menu-bars i:first-child{top:2px;left:0;width:100%}.menu-btn .menu-bars i:last-child{top:7px;right:0;width:62%}.menu-btn:hover .menu-bars i:last-child{width:100%}.menu-btn.is-open .menu-bars i:first-child{top:50%;left:0;width:100%;transform:translateY(-50%) rotate(45deg)}.menu-btn.is-open .menu-bars i:last-child{top:50%;right:0;width:100%;transform:translateY(-50%) rotate(-45deg)}.mobile-filterbar{display:none;background:var(--bg);border-bottom:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-filterbar::-webkit-scrollbar{display:none}.mobile-filterbar .filters{padding:0 18px;height:46px;width:max-content}@media (max-width:720px){.h-c,.wm-role{display:none}.app.is-scrolled .header-inner{min-height:var(--header-h)}.mobile-filterbar{display:block}}.scroller{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.scroller::-webkit-scrollbar{width:10px}.scroller::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;-webkit-transition:background .35s ease;transition:background .35s ease}.scroller.is-scrolling,.scroller:hover{scrollbar-color:var(--line) transparent}.scroller.is-scrolling::-webkit-scrollbar-thumb,.scroller:hover::-webkit-scrollbar-thumb{background:var(--line)}.gallery-wrap{padding:var(--gallery-pad)}.frame{position:relative;overflow:hidden;margin:0;cursor:pointer;display:block;width:100%;background:var(--card)}.frame-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.hoverzoom:hover .frame-img{transform:scale(1.045)}.cap-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:3px;padding:16px;color:#fff;opacity:0;transform:translateY(8px);transition:.35s;background:linear-gradient(0deg,rgba(0,0,0,.58),transparent);pointer-events:none}.frame:hover .cap-overlay{opacity:1;transform:none}.cap-title{font-size:14px;font-weight:500}.cap-sub,.cap-title{letter-spacing:.01em}.cap-sub{font-size:10.5px;opacity:.82}.masonry{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--gap);gap:var(--gap)}@media (max-width:1100px){.masonry{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.masonry{grid-template-columns:1fr}}.m-item{min-width:0}.sentinel{height:1px}.menu-root{position:fixed;inset:0;z-index:300;pointer-events:none}.menu-scrim{position:absolute;inset:0;background:var(--menu-scrim);opacity:0;transition:opacity .45s}.menu-root.is-open{pointer-events:auto}.menu-root.is-open .menu-scrim{opacity:1}.menu-panel{position:absolute;inset:0;height:100%;width:100%;background:var(--menu-bg);color:var(--menu-fg);transform:translateX(100%);transition:transform .55s cubic-bezier(.65,0,.18,1),background-color .3s ease,color .3s ease;display:flex;flex-direction:column;gap:24px;padding:clamp(22px,3.4vw,56px);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.menu-root.is-open .menu-panel{transform:none}.menu-panel::-webkit-scrollbar{display:none}.menu-top{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto;gap:24px}.menu-body{flex:1 1 auto;display:grid;grid-template-columns:1.45fr 1fr;grid-gap:clamp(34px,5vw,96px);gap:clamp(34px,5vw,96px);align-items:start;padding:clamp(20px,3vw,48px) 0}.menu-info{display:flex;flex-direction:column;gap:clamp(26px,3vw,40px);max-width:420px;justify-self:end;opacity:0;transform:translateY(12px);transition:opacity .5s ease .42s,transform .5s ease .42s}.menu-root.is-open .menu-info{opacity:1;transform:none}@media (max-width:900px){.menu-body{grid-template-columns:1fr;gap:34px;padding:28px 0 0}.menu-info{justify-self:start;max-width:none}}.menu-brand{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:var(--wm-ls);white-space:nowrap}.menu-role{font-family:var(--font-mono);font-size:10px;letter-spacing:.01em;color:var(--menu-muted);margin-top:7px}.menu-close{position:relative;width:30px;height:30px;background:none;border:0;cursor:pointer;flex:0 0 auto}.menu-close span{position:absolute;top:50%;left:4px;right:4px;height:1.5px;background:var(--menu-fg)}.menu-close span:first-child{transform:rotate(45deg)}.menu-close span:last-child{transform:rotate(-45deg)}.menu-nav{display:flex;flex-direction:column}.menu-link{display:flex;align-items:baseline;gap:16px;background:none;border:0;cursor:pointer;text-align:left;padding:15px 0;border-bottom:1px solid var(--menu-line);color:var(--menu-fg);opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease,color .2s;transition-delay:calc(var(--i) * 55ms + .12s),calc(var(--i) * 55ms + .12s),0s}.menu-root.is-open .menu-link{opacity:1;transform:none}.menu-link-idx{font-family:var(--font-mono);font-size:11px;color:var(--menu-muted);letter-spacing:.01em}.menu-link-txt{font-family:var(--font-display);font-size:clamp(40px,7vw,92px);font-weight:500;letter-spacing:-.015em;line-height:1.02;color:var(--menu-fg);opacity:.5;transition:opacity .25s ease,transform .3s ease}.menu-link:hover .menu-link-txt{opacity:1;transform:translateX(10px)}.menu-link.is-active .menu-link-txt{opacity:1}@media (max-width:720px){.menu-link-txt{font-size:clamp(34px,11vw,54px)}}.menu-block h4{margin:0 0 12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.01em;color:var(--menu-muted);font-weight:400}.menu-about{margin:0;font-size:13.5px;line-height:1.62;color:var(--menu-fg);opacity:.86}.menu-contact{list-style:none;margin:0;padding:0}.menu-contact li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--menu-line)}.menu-contact li span{font-family:var(--font-mono);font-size:10px;letter-spacing:.01em;color:var(--menu-muted)}.menu-contact li a{font-size:13px;color:var(--menu-fg);opacity:.82;transition:opacity .2s;text-underline-offset:3px}.menu-contact li a:hover{opacity:1;text-decoration:underline}.menu-foot{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--menu-line);font-family:var(--font-mono);font-size:10px;letter-spacing:.01em;color:var(--menu-muted);opacity:0;transition:opacity .5s ease .5s}.menu-root.is-open .menu-foot{opacity:1}@media (max-width:720px){.menu-foot{flex-direction:column;gap:8px;align-items:flex-start;padding-top:18px}}.theme-toggle{background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:14px;padding:12px 0;font-family:var(--font-body);font-size:13px;letter-spacing:.01em;color:var(--menu-fg)}.theme-toggle .tt-opt{color:var(--menu-fg);opacity:.45;padding:4px 0;border-bottom:1px solid transparent;transition:opacity .2s ease,border-color .2s ease}.theme-toggle .tt-opt.is-active{opacity:1;border-bottom-color:var(--menu-fg)}.theme-toggle .tt-sep{opacity:.25;font-size:11px}.theme-toggle:hover .tt-opt{opacity:.8}.theme-toggle:hover .tt-opt.is-active{opacity:1}.proj-root{position:fixed;inset:0;z-index:150;color:var(--fg);flex-direction:column}.proj-bar,.proj-root{background:var(--bg);display:flex}.proj-bar{flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;height:var(--header-h);padding:0 var(--pad);border-bottom:1px solid var(--line)}.proj-home{background:none;border:0;cursor:pointer;font-family:var(--font-display);font-size:var(--wm-size);font-weight:var(--wm-weight);letter-spacing:var(--wm-ls);color:var(--fg);padding:6px 0}.proj-bar-r{display:flex;align-items:center;gap:22px}.proj-close{display:inline-flex;align-items:center;gap:9px;background:none;border:0;cursor:pointer;padding:6px 0;color:var(--fg)}.proj-close-x{font-size:13px}.proj-close-ico{position:relative;width:16px;height:16px}.proj-close-ico span{position:absolute;top:50%;left:0;right:0;height:1.5px;background:var(--fg)}.proj-close-ico span:first-child{transform:rotate(45deg)}.proj-close-ico span:last-child{transform:rotate(-45deg)}.proj-close:hover{opacity:.6}.proj-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.proj-scroll::-webkit-scrollbar{width:10px}.proj-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;-webkit-transition:background .35s ease;transition:background .35s ease}.proj-scroll.is-scrolling,.proj-scroll:hover{scrollbar-color:var(--line) transparent}.proj-scroll.is-scrolling::-webkit-scrollbar-thumb,.proj-scroll:hover::-webkit-scrollbar-thumb{background:var(--line)}.proj-hero{position:relative;width:100%;overflow:hidden;background:var(--card)}.proj-hero img{width:100%;height:100%;object-fit:cover;display:block}.proj-head{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:clamp(34px,6vw,110px);gap:clamp(34px,6vw,110px);padding:clamp(40px,6vw,96px) var(--pad) clamp(30px,4vw,60px);align-items:start}.proj-no{font-size:12px;color:var(--muted);letter-spacing:.01em}.proj-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.02;font-size:clamp(40px,6vw,88px);margin:14px 0 0}.proj-blurb{max-width:30ch;margin:26px 0 0;font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:var(--strong)}.proj-meta{margin:8px 0 0;display:flex;flex-direction:column;gap:0}.proj-meta>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.proj-meta>div:first-child{border-top:1px solid var(--line)}.proj-meta dt{font-size:13px;color:var(--muted)}.proj-meta dd{margin:0;font-size:13px;text-align:right}.proj-gallery{flex-direction:column;padding:0 var(--pad) clamp(20px,3vw,40px)}.proj-gallery,.proj-row{display:flex;gap:clamp(10px,1.2vw,18px)}.proj-shot{position:relative;margin:0;flex:1 1;min-width:0;overflow:hidden;background:var(--card)}.proj-shot img{width:100%;height:100%;object-fit:cover;display:block}.proj-next{position:relative;display:block;width:100%;height:clamp(440px,74vh,780px);overflow:hidden;background:#111;border:0;padding:0;cursor:pointer;color:#fff;margin-top:clamp(20px,3vw,40px);text-align:left}.proj-next-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.proj-next:hover .proj-next-img{transform:scale(1.045)}.proj-next-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62) 0,rgba(0,0,0,.12) 45%,rgba(0,0,0,.1))}.proj-next-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:12px;padding:clamp(28px,5vw,76px)}.proj-next-label{font-size:13px;letter-spacing:.01em;opacity:.9}.proj-next-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1;font-size:clamp(44px,7vw,96px)}.proj-next-cta{display:inline-flex;align-items:center;gap:9px;margin-top:6px;font-size:14px;border-bottom:1px solid hsla(0,0%,100%,.55);padding-bottom:3px}.proj-next-arrow{transition:transform .35s cubic-bezier(.2,.7,.2,1);display:inline-block}.proj-next:hover .proj-next-arrow{transform:translateX(7px)}@media (max-width:720px){.proj-head{grid-template-columns:1fr;gap:30px}.proj-close-x{display:none}.proj-row-2{flex-direction:column}.proj-blurb{max-width:none}.proj-next{height:64vh;min-height:380px}.cap-overlay{opacity:1;transform:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:14px;color:var(--muted);text-align:center;padding:40px 20px}.empty-state h2{font-family:var(--font-display);font-size:22px;font-weight:500;margin:0;color:var(--fg)}.empty-state p{margin:0;font-size:14px;max-width:36ch;line-height:1.55}.empty-state a{margin-top:8px;font-size:13px;border-bottom:1px solid var(--fg);color:var(--fg);padding-bottom:2px}