:root{--bg:#0c0c0c;--fg:#f3f2ee;--fg-soft:rgba(243,242,238,0.85);--muted:rgba(243,242,238,0.56);--line:rgba(243,242,238,0.14);color-scheme:dark;--pad:clamp(20px,4vw,64px);--ease-out:cubic-bezier(0.22,1,0.36,1);--idx-w:2.4rem;--row-gap:clamp(12px,2vw,24px)}@media (prefers-color-scheme:light){:root{--bg:#f2ede4;--fg:#2f2e2a;--fg-soft:rgba(47,46,42,0.85);--muted:rgba(47,46,42,0.56);--line:rgba(47,46,42,0.14);color-scheme:light}}*,:after,:before{box-sizing:border-box}html{scrollbar-gutter:stable}body,html{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--fg);font-family:DM Sans,Helvetica Neue,Arial,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}a{color:inherit}.page{height:100vh;height:100dvh;max-width:1180px;margin:0 auto;padding:clamp(20px,3.4vh,40px) var(--pad) clamp(14px,2.6vh,28px);display:flex;flex-direction:column;gap:clamp(16px,2.8vh,32px);overflow:hidden}.head{position:absolute;top:12px;left:12px;right:20px;flex:none;display:flex;flex-direction:column;gap:clamp(14px,2.4vh,26px);transition:transform .8s var(--ease-out)}.head.slide-up{transform:translateY(-100vh)}.head-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.name{margin:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.28em;font-weight:600;font-size:clamp(1.9rem,min(4.6vw,6.4vh),3.6rem);line-height:1;letter-spacing:-.035em}.unit{display:flex;flex-direction:column}.pron{font-size:.3em;font-weight:400;text-align:center;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.social{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);flex:none}.social-icons{display:flex;align-items:center;gap:.5rem}.social a{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:var(--muted);transition:color.2s}.social a:hover{color:var(--fg)}.social svg{width:22px;height:22px}.social a.cv{font-weight:700;font-size:clamp(.9rem,1.15vw,1rem);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;color:var(--muted);transition:color.2s}.social a.cv:hover{color:var(--fg);text-decoration-color:var(--fg)}.work{position:absolute;bottom:12px;left:12px;right:12px}.label{margin:0 0 8px;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.work ol{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line);transition:border-bottom-color.3s}.work li{border-top:1px solid var(--line);transition:transform .8s var(--ease-out),border-top-color .3s}.work .label{transition:transform .8s var(--ease-out)}.work .label.slide-up,.work li.slide-up{transform:translateY(-100vh)}.work li.slide-down{transform:translateY(100vh)}.work li.is-open{border-top-color:#0000}.work ol.is-open{border-bottom-color:#0000}.work button{width:100%;display:block;padding:clamp(7px,1.15vh,13px)0;background:none;border:0;border-radius:0;color:inherit;font:inherit;font-size:clamp(.96rem,min(1.8vw,3vh),1.3rem);letter-spacing:-.01em;text-align:left;cursor:pointer}.work .btn-inner{display:flex;flex-direction:column;width:100%}.work .row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--row-gap)}.work .idx{width:var(--idx-w);flex:none;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;transition:opacity .25s var(--ease-out)}.work .t{flex:1;transition:opacity .25s var(--ease-out)}.work .arr{flex:none;margin-left:auto;align-self:center;display:flex;align-items:center;color:var(--muted);transition:opacity .25s var(--ease-out),color .25s}.work .arr svg{display:block;width:1.25em;height:1.25em}.work .peek{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease-out)}.work .peek>span{overflow:hidden;min-height:0;padding-top:6px;margin-left:calc(var(--idx-w) + var(--row-gap));max-width:62ch;font-size:.86rem;line-height:1.45;color:var(--muted);opacity:0;transform:translateY(-2px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.work button:focus-visible .peek,.work button:hover .peek{grid-template-rows:1fr}.work button:focus-visible .peek>span,.work button:hover .peek>span{opacity:1;transform:none}.work button:hover .arr{color:var(--fg)}.work button.is-open .arr,.work button.is-open .idx,.work button.is-open .peek>span,.work button.is-open .t{opacity:0}.work button.snap .arr,.work button.snap .idx,.work button.snap .peek>span,.work button.snap .t{transition:none}dialog{padding:0;margin:0;position:fixed;inset:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;border:0;border-radius:0;background:#0000;color:var(--fg)}dialog::backdrop{background:#0000}dialog.no-anim *,dialog.no-anim :after,dialog.no-anim :before{transition:none!important}.dlg-clip{position:fixed;inset:0;overflow:hidden;background:#0000;clip-path:inset(0 0 0 0);transition:clip-path .7s var(--ease-out);will-change:clip-path}.dlg-scroll{height:100%;overflow:auto}dialog.morphing .dlg-scroll{overflow:hidden}.dlg{max-width:1180px;margin:0 auto;padding:clamp(20px,3.4vh,44px) var(--pad) clamp(40px,8vh,96px)}.dlg-cite,.dlg-links,.dlg-meta,.dlg-more{transition:opacity .45s var(--ease-out)}#dlg-media{transition:opacity .6s var(--ease-out);will-change:opacity}#dlg-desc,#dlg-title{transform-origin:0 0;transition:opacity .45s var(--ease-out),transform .7s var(--ease-out)}dialog.seq-open #dlg-media,dialog.seq-open .dlg-cite,dialog.seq-open .dlg-links,dialog.seq-open .dlg-meta,dialog.seq-open .dlg-more{transition-delay:.55s}dialog.seq-close .dlg-clip{transition-duration:.65s;transition-delay:.3s}dialog.seq-close #dlg-media,dialog.seq-close .dlg-cite,dialog.seq-close .dlg-links,dialog.seq-close .dlg-meta,dialog.seq-close .dlg-more{transition-delay:0s}dialog.seq-close #dlg-desc,dialog.seq-close #dlg-title{transition:opacity .45s var(--ease-out) 0s,transform .65s var(--ease-out) .3s}.dlg-close{position:fixed;top:clamp(12px,2.2vh,24px);right:clamp(14px,2vw,28px);z-index:5;width:44px;height:44px;display:block;background:none;border:0;border-radius:0;padding:0;cursor:pointer;color:var(--muted);transition:transform .7s var(--ease-out) 0s,color .2s 0s}.dlg-close:hover{color:var(--fg)}dialog.seq-close .dlg-close{transition:transform .65s var(--ease-out) .3s,color .2s 0s}.dlg-close .ico{position:relative;display:grid;place-items:center;width:100%;height:100%;font-size:clamp(.96rem,min(1.8vw,3vh),1.3rem);transition:transform.2s}.dlg-close:hover .ico{transform:scale(1.12)}.dlg-close .a,.dlg-close .x{grid-area:1/1;width:1.25em;height:1.25em;transition:opacity .3s var(--ease-out),transform .4s var(--ease-out)}.dlg-close .x{opacity:0;transform:rotate(-45deg)scale(.7)}dialog.seq-open .dlg-close .a{opacity:0;transform:rotate(45deg)scale(.7);transition-delay:.4s}dialog.seq-open .dlg-close .x{opacity:1;transform:rotate(0)scale(1);transition-delay:.4s}dialog.seq-close .dlg-close .a,dialog.seq-close .dlg-close .x{transition-delay:.75s}.dlg-meta{margin:1.6rem 0 0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.dlg h2{margin:.5rem 0 1.2rem;max-width:30ch;font-size:clamp(1.5rem,3.2vw,2.4rem);letter-spacing:-.025em;line-height:1.12}#dlg-media{margin:0 0 1.4rem}.shot{margin:0}.shot img{display:block;width:100%;height:auto;border:0;border-radius:0;background:#0000}.shot-row{display:flex;align-items:flex-start;gap:12px}.shot-row .shot{flex:1 1 0;min-width:0;margin:0}.panel{aspect-ratio:16 / 9;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(18px,3vw,32px);border:0;border-radius:0;background:linear-gradient(160deg,#1d1d1d,#0f0f0f)}.panel p{margin:0}.panel .k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.panel .pt{margin-top:.4rem;font-size:clamp(1.3rem,3.2vw,2.4rem);line-height:1.1;letter-spacing:-.02em}.panel .py{margin-top:.5rem;color:var(--muted)}.dlg-desc{max-width:44rem;margin:1.2rem 0 0;font-size:1rem;color:var(--fg-soft)}.dlg-cite{margin:1.4rem 0 0;max-width:44rem}.dlg-cite .cite-text{margin:0;font-size:.88rem;font-style:italic;color:var(--muted)}.dlg-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 22px;margin-top:.9rem}.dlg-links{margin:1.2rem 0 0;display:flex;flex-wrap:wrap;gap:10px 22px}.dlg-links a,.dlg-more button,.link-btn{font:inherit;font-weight:700;color:var(--fg);background:none;border:0;border-radius:0;padding:0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;cursor:pointer}.dlg-links a,.link-btn{font-size:.95rem}.dlg-links a,.dlg-more button,.link-btn{transition:color.2s}.dlg-links a:hover,.dlg-more button:hover,.link-btn:hover,.link-btn[data-copied=true]{color:var(--muted);text-decoration-color:var(--muted)}.dlg-more{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}.dlg-more ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.dlg-more li{margin:0;padding:0}.dlg-more button{width:auto;height:auto;display:inline;font-size:.95rem;text-align:left;transition:color.2s}.dlg-more .s-t{font-weight:700}.dlg-more .s-m{font-size:.85rem;font-weight:400;color:var(--muted);margin-left:8px}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}dialog:focus-visible{outline:none}@media (width<=520px){.work .idx{display:none}.work .peek>span{margin-left:0}}@media (height<=780px){.page{gap:14px}.name{font-size:clamp(1.6rem,min(4.4vw,5vh),2.4rem)}.work button{padding:7px 0}}@media (height<=640px){.name{font-size:1.7rem}.work button{padding:5px 0;font-size:1rem}}@media (prefers-color-scheme:light){.panel{background:linear-gradient(160deg,#e8e1d2,#ded4c1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}