.portfolio-grid{row-gap:48px}.work-tile:nth-child(3n+1){rotate:-1.3deg;margin-top:0}.work-tile:nth-child(3n+2){rotate:1.4deg;margin-top:40px}.work-tile:nth-child(3n){rotate:-.7deg;margin-top:14px}.tile-image{background:#ebe8dd;perspective:900px}.work-tile .tile-image{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .18s ease-out}.tile-image img{object-fit:contain}.tile-caption h3{overflow-wrap:anywhere}.blank-title{font-size:14px;font-weight:400;color:#61776a}.page-filters{flex-wrap:wrap}.page-tools{gap:16px}.stage-card[data-position=hidden]{opacity:0;pointer-events:none;transform:translateZ(-200px) scale(.5);visibility:hidden}.stage-card img{object-fit:contain;background:#e8e5d8}.project-films,.project-gallery{margin-top:45px}.project-films>h3,.project-gallery>h3{font:12px monospace;letter-spacing:1px;border-bottom:1px solid #173d3940;padding-bottom:16px;margin-bottom:28px}.film-frame{margin:0 0 35px;background:#eee8da;padding:14px}.film-frame video{display:block;width:100%;max-height:75vh;background:#182a24;object-fit:contain}.film-frame figcaption,.project-gallery figcaption{display:flex;justify-content:space-between;gap:14px;margin-top:12px;color:#586f61;font-size:11px;line-height:1.6}.film-frame figcaption a{text-decoration:underline}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.project-gallery>h3{grid-column:1/-1;margin-bottom:0}.project-gallery figure{margin:0;min-width:0}.gallery-zoom{display:block;width:100%;position:relative;background:#e8e6dc;padding:14px;cursor:zoom-in;border:1px solid #173d3920;overflow:hidden}.gallery-zoom img{display:block;width:100%;max-height:850px;object-fit:contain;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .22s}.gallery-zoom span{display:block;font-size:10px;text-align:right;margin-top:12px}.gallery-zoom:hover{box-shadow:0 8px 20px #173d3918}.video-blank{padding:55px 20px;text-align:center;border:1px dashed #668675;background:#e6e8d5;margin:35px 0}.video-blank>span{font-size:45px}.video-blank p{font-size:13px}.project-edit{margin:60px 0 25px;padding:22px;border:1px dashed #49765b;background:#f6f0d8}.project-edit summary{cursor:pointer;font-size:15px}.project-edit form{display:grid;gap:18px;margin-top:25px}.project-edit label{display:grid;gap:8px;font-size:12px}.project-edit input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #617b69;background:#fffdf3;color:var(--ink);font:inherit}.project-edit p{font-size:11px;color:#617568;line-height:1.7;margin:0}.project-edit form>div{display:flex;gap:16px;flex-wrap:wrap}.image-viewer{max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:70px 24px 25px;border:0;background:#f8f3e7;box-sizing:border-box;overflow:auto}.image-viewer::backdrop{background:#162d29c9}.image-viewer>img{display:block;max-width:100%;width:auto;height:auto;max-height:none;margin:0 auto}.image-viewer>p{text-align:center;font-size:11px}.zoom-close{position:fixed;top:16px;right:25px;background:var(--pink);border:1px solid var(--ink);padding:10px 18px;z-index:3;box-shadow:3px 3px 0 var(--ink)}.pointer-aura{position:fixed;top:0;left:0;width:42px;height:42px;margin:-21px;pointer-events:none;border-radius:50%;border:1px solid #04885d;z-index:1000;opacity:0;background:#f8e64422;transition:opacity .2s,width .2s,height .2s;mix-blend-mode:multiply}.pointer-aura.on{opacity:.8}.pointer-aura.zoom{border-style:dashed;background:#ef53a322}.page-nav:after{content:'';position:absolute;bottom:0;left:0;width:var(--read-progress,0%);height:2px;background:var(--accent);pointer-events:none}.motion-toggle{font-size:10px;border-bottom:1px solid;padding:4px}.motion-off .liquid-orb,.motion-off .word-rise,.motion-off #detail-dialog[open]{animation:none!important}.motion-off .reveal-ready{opacity:1;transform:none;transition:none}.motion-off .work-tile,.motion-off .tile-image,.motion-off .gallery-zoom img{transition:none}.mode-toggle,.page-close,.all-works,.action-button{transition:translate .18s,background .2s}.case-meta{overflow-wrap:anywhere}.project-gallery:has(figure:only-of-type){grid-template-columns:1fr}.art-echo img{object-fit:cover;object-position:center 25%}.mini-projects .art img{object-fit:contain}.page-disclaimer{max-width:850px}
@media(max-width:850px){.work-tile:nth-child(n){margin-top:0}.work-tile:nth-child(2n){margin-top:30px}.project-gallery{gap:20px}.page-tools{align-items:flex-start}.mode-toggle{white-space:nowrap}.film-frame{padding:8px}.pointer-aura{display:none}}
@media(max-width:550px){.work-tile:nth-child(n){margin-top:0}.project-gallery{grid-template-columns:1fr}.project-gallery>h3{grid-column:auto}.project-edit{padding:18px}.project-edit form>div{gap:12px}.project-edit .action-button{font-size:11px}.image-viewer{padding:65px 10px 20px}.gallery-zoom{padding:8px}.project-films,.project-gallery{margin-top:30px}.film-frame figcaption{flex-wrap:wrap}.page-filters button{font-size:10px}.page-tools{gap:12px}.video-blank{padding:35px 16px}}
@media(prefers-reduced-motion:reduce){.pointer-aura{display:none}.work-tile .tile-image,.gallery-zoom img{transform:none!important;transition:none}.mode-toggle,.page-close,.all-works,.action-button{translate:none!important}}
.mini-projects{gap:16px;align-items:start}.mini-projects>button{min-width:0}.mini-projects .art{box-sizing:border-box;padding:10px;border:1px solid #173d3930;box-shadow:3px 4px 0 #05885d35;transition:transform .25s,box-shadow .25s}.mini-projects .art-between{background:transparent;border-color:transparent;box-shadow:none;overflow:visible}.mini-projects .art-between:after{display:none}.mini-projects .art-between img{filter:drop-shadow(0 5px 5px #52679326);object-position:center}.mini-projects .art-type{background:#eeeaca}.mini-projects b{display:block;line-height:1.55}.mini-projects small{line-height:1.6}.mini-projects button:hover .art{transform:translateY(-3px)}.case-intro h2{overflow-wrap:anywhere}
.portrait.portrait-photo{padding:0;overflow:hidden;background:#d4e7df}.portrait-photo:before,.portrait-photo:after{display:none}.portrait-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:none}
.project-process{margin:65px 0 35px;padding-top:28px;border-top:1px solid #173d3940}.project-process header>span{font:10px monospace;letter-spacing:1.5px;color:var(--green)}.project-process h3{font-size:32px;margin:12px 0}.project-process header>p{font-size:12px;line-height:1.7;color:#497063}.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}.process-steps article{padding:22px 18px;border-top:3px solid var(--green);background:#dce9dd55}.process-steps article:nth-child(2){background:#efb9db44;border-color:var(--pink)}.process-steps article:nth-child(3){background:#eee8ae55;border-color:#cfbd33}.process-steps small{font:12px monospace;color:#617568}.process-steps h4{font-size:17px;margin:16px 0 12px}.process-steps p{font-size:14px;line-height:1.9;margin:0}.project-process figure{margin:0}.project-process figcaption{font-size:12px;color:#586f61;line-height:1.7;margin-top:12px}.project-gallery:has(img[src$="xingyu-icon.png"]) figure{max-width:420px;width:100%;justify-self:center}.project-gallery:has(img[src$="xingyu-icon.png"]) .gallery-zoom{background:transparent;border:0}.project-process .gallery-zoom img{max-height:none}@media(max-width:700px){.process-steps{grid-template-columns:1fr;gap:14px}.project-process{margin-top:45px}.process-steps article{padding:18px}.project-process h3{font-size:27px}}
