:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-header{mix-blend-mode:normal}.site-header.on-dark{color:var(--paper)}.site-header.on-dark .brand-mark{background:var(--paper);color:var(--ink)}.site-header.on-dark .lang.is-active{background:var(--paper);color:var(--ink)}.project-media{width:100%;border:0;padding:0;text-align:left;color:inherit;cursor:pointer}.project-info--top .project-index{position:static;display:inline-block;color:var(--muted);text-shadow:none}.project-dialog{width:min(92vw,1280px);height:min(92vh,900px);padding:clamp(18px,2.5vw,32px);border:0;background:var(--ink);color:var(--paper);overflow:auto}.project-dialog::backdrop{background:rgba(17,18,15,.84);backdrop-filter:blur(8px)}.dialog-top,.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-close{border:0;border-bottom:1px solid rgba(234,233,226,.45);padding:0 0 5px;background:transparent;color:var(--paper);cursor:pointer}.dialog-image-wrap{margin:clamp(28px,5vw,64px) 0 24px;overflow:hidden;background:#242620}.dialog-image{display:block;width:100%;height:min(66vh,650px);object-fit:contain}.dialog-bottom h2{font-size:clamp(38px,7vw,100px);font-weight:500;letter-spacing:-.08em}.dialog-link{border-bottom:1px solid rgba(234,233,226,.45);padding-bottom:5px;white-space:nowrap}.dialog-open{overflow:hidden}@media (max-width:760px){.project-dialog{width:100%;height:100%;max-width:none;max-height:none}.dialog-image{height:62vh}.dialog-bottom{align-items:flex-end}.dialog-bottom h2{font-size:54px}.dialog-link{font-size:9px}}
.site-header nav a.is-active{color:var(--ink)}
.site-header nav a.is-active:after{transform:scaleX(1);transform-origin:left}
.scene-progress{position:fixed;right:var(--pad);bottom:max(20px,env(safe-area-inset-bottom));z-index:25;width:96px;height:1px;background:var(--line);pointer-events:none}
.scene-progress-fill{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
@media (max-width:760px){.scene-progress{display:none}}
.cursor-dot{position:fixed;top:0;left:0;z-index:60;display:grid;place-items:center;width:10px;height:10px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.68rem;transform:translate3d(-100px,-100px,0) translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity .25s ease,width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),background-color .3s ease}
.cursor-dot span{opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .2s ease}
body.cursor-ready .cursor-dot{opacity:1}
body.cursor-view .cursor-dot{width:56px;height:56px;background:var(--accent)}
body.cursor-view .cursor-dot span{opacity:1;transform:scale(1)}
@media (hover:none),(pointer:coarse){.cursor-dot{display:none}}
@media (prefers-reduced-motion:reduce){.cursor-dot{display:none}}
