:root{--desk:#c4c5c0;--paper:#f0efea;--ink:#252624;--muted:#737570;--line:#b9bab3;--panel:#d6d6d0;--white:#f8f7f1}html{background:var(--desk)}body{max-width:none;background:var(--desk);color:var(--ink);background-image:radial-gradient(#34362a13 .65px,transparent .8px),linear-gradient(110deg,#ffffff15,transparent 60%);background-size:4px 4px,100% 100%;font-family:Arial,Helvetica,sans-serif}body::after{content:'';position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 160px #33351f13;z-index:20}.status-strip{position:absolute;top:0;left:24px;display:flex;gap:6px;color:var(--muted);font:9px/1.5 monospace;z-index:21}.status-strip span{background:var(--panel);padding:3px 6px}header{height:125px;padding:37px 3% 20px;position:relative;z-index:25;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:start}.brand{display:flex;align-items:center;letter-spacing:-1px;font-size:21px;font-weight:500;justify-self:start;margin-top:6px}.brand .brand-circle{display:grid;place-items:center;width:37px;height:37px;border:2px solid var(--ink);border-radius:50%;font-size:17px;letter-spacing:-1px}.brand .brand-page{font-size:22px;letter-spacing:-1px;margin:0 0 0 -2px;padding:3px 7px;border:2px solid var(--ink);border-radius:3px;font-weight:500}header nav{background:var(--paper);border:1px solid #0000000d;padding:5px;border-radius:8px;gap:0;box-shadow:0 1px 2px #00000008}header nav a{font-size:14px;padding:9px 14px;border-radius:5px}header nav a.active{text-decoration:none;background:var(--panel);box-shadow:inset 0 1px 2px #00000007}.header-tools{justify-self:end;display:flex;gap:6px}.header-tools a,.header-tools button{height:44px;min-width:44px;padding:0 12px;border-radius:7px;border:1px solid #0000000d;background:var(--paper);display:grid;place-items:center;font-size:13px}.header-tools button{font-size:24px}main{min-height:calc(100svh - 190px)}footer,body:has(.work-wheel) footer{margin:0 3%;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font:9px monospace;letter-spacing:.4px}.micro{font:10px/1.5 monospace;letter-spacing:.5px;color:var(--muted)}.file-desk{min-height:calc(100svh - 190px);height:760px;max-height:1000px;position:relative;display:grid;place-items:center;overflow:hidden;perspective:1600px}.desk-caption{position:absolute;top:15px;left:4%;right:4%;display:flex;justify-content:space-between;color:var(--muted);font:9px monospace;letter-spacing:1px}.postcard{width:min(830px,78vw);min-height:405px;position:relative;display:grid;grid-template-columns:36% 1fr;gap:35px;padding:28px;background:var(--paper);border:1px solid #fffffe40;border-radius:10px;box-shadow:0 28px 45px #24291b28,0 2px 4px #0001;transform:rotate(-1.5deg);background-image:radial-gradient(#444a3210 .8px,transparent 1px);background-size:5px 5px;z-index:3;animation:file-arrive .9s cubic-bezier(.15,.7,.2,1) both}.paper-clip{position:absolute;left:55px;top:-48px;height:78px;width:35px;border:3px solid #4c4f48;border-radius:22px;transform:rotate(-14deg);box-shadow:inset 1px 1px 1px #fff9,1px 1px 1px #0004;z-index:-1}.paper-clip::after{content:'';position:absolute;width:18px;height:57px;border:2px solid #777b71;border-top:0;border-radius:0 0 14px 14px;top:13px;left:5px}.stamp-photo{position:relative;padding:14px 14px 12px;background:var(--white);mask:radial-gradient(6px at 6px 6px,transparent 98%,#000) -6px -6px/12px 12px,linear-gradient(#000 0 0) center/calc(100% - 12px) calc(100% - 12px);mask-composite:add}.stamp-photo img{width:100%;height:296px;object-fit:cover;object-position:50% 35%;display:block;filter:grayscale(1) contrast(.94)}.stamp-photo strong{display:block;font-size:11px;letter-spacing:1.5px;margin:12px 0 0 3px;font-weight:600}.photo-waves{position:absolute;bottom:8px;right:15px;font-size:26px;color:#82877a}.postcard-content{position:relative;min-width:0;padding-top:100px}.postcard-actions{position:absolute;right:0;top:0;display:flex;gap:9px;z-index:5}.postcard-actions button{background:none;border:1px dashed #999d91;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;color:var(--muted);transition:transform .2s,background .2s}.postcard-actions button:hover{transform:translateY(-3px);background:var(--panel)}.postcard-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.postal-seal{position:absolute;left:-57px;top:5px;width:105px;height:105px;border:2px solid #858b7c88;border-radius:50%;color:#7b847066;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(19deg);outline:1px solid #858b7c66;outline-offset:-8px;pointer-events:none}.postal-seal span,.postal-seal small{font:7px monospace;letter-spacing:1.3px}.postal-seal b{font:italic 38px Georgia,serif;line-height:1.3}.postal-lines{position:absolute;top:5px;left:40px;font-size:65px;letter-spacing:-12px;transform:rotate(-12deg);color:#7b847055;pointer-events:none}.letter-preview .micro{font-size:8px}.letter-preview p{font-size:25px;line-height:1.2;letter-spacing:-.7px;margin:12px 0 24px;color:var(--ink)}.postcard-links{display:flex;gap:20px;font:10px monospace;border-bottom:1px dashed var(--line);padding-bottom:16px}.postcard-links a:hover{text-decoration:underline}.postcard-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--line);padding:13px 0;gap:20px}.postcard-bottom button{border:0;border-radius:4px;background:var(--ink);color:var(--paper);font-size:15px;padding:6px 11px}.postcard-bottom>span{font-size:9px;color:var(--muted);white-space:nowrap}.back-note{position:absolute;width:330px;height:235px;left:12%;top:50%;transform:translateY(8%) rotate(-4deg);padding:23px;background:#33382f;color:#bdc4b1;box-shadow:0 15px 30px #0002;border-radius:4px;z-index:1}.back-note>span{font:8px monospace;color:#929d87}.back-note strong{font:25px monospace;display:block;margin:13px 0}.back-note p{font:9px/1.5 monospace}.note-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:13px}.note-grid i{height:10px;background:#66715966;border-radius:2px}.note-grid i:nth-child(3n){background:#b9c7a760}.back-photo{position:absolute;right:12%;top:50%;transform:translateY(6%) rotate(4deg);width:320px;height:230px;background:#2e332b;border:10px solid #3c4235;border-bottom-width:35px;border-radius:7px;box-shadow:0 10px 10px #0003;z-index:1}.back-photo img{height:100%;width:100%;object-fit:cover;filter:grayscale(.9) brightness(.7)}.back-photo span{display:block;color:#adb69f;font:8px monospace;margin-top:10px;text-align:center}.desk-instructions{position:absolute;bottom:28px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;font:9px monospace;letter-spacing:.6px;color:var(--muted)}.desk-instructions>div{display:flex;gap:10px}.desk-instructions button{font:9px monospace;border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:10px 14px;color:var(--ink)}.side-file{position:absolute;right:-1px;top:48%;writing-mode:vertical-rl;border:1px solid var(--line);border-radius:6px 0 0 6px;padding:18px 10px;font:10px monospace;color:var(--muted);background:var(--panel)}.file-modal{width:min(760px,90vw);max-height:86svh;border:1px solid #fff6;border-radius:12px;background:var(--paper);color:var(--ink);padding:0;box-shadow:0 30px 120px #0004;overscroll-behavior:contain;background-image:radial-gradient(#444a3210 .8px,transparent 1px);background-size:5px 5px}.file-modal::backdrop{background:#22272066;backdrop-filter:blur(3px)}.modal-sheet{padding:47px 43px 40px;position:relative}.modal-close{position:absolute;right:25px;top:24px;width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink);font-size:24px;line-height:1}.modal-close:hover{background:var(--panel)}.file-modal h2:not(.sr-only){font-size:45px;letter-spacing:-1.9px;line-height:1.08;margin:37px 0 46px;font-weight:600}.record-table{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding-left:25px;position:relative}.record-table::before{content:'';position:absolute;left:9px;top:45px;bottom:40px;width:9px;background:radial-gradient(circle at center,transparent 3px,#8d958344 3px 4px,transparent 4px) center top/9px 58px}.record-head,.record-row{display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:18px;padding:14px 17px;border-bottom:1px solid var(--line)}.record-head{font:9px monospace;letter-spacing:1px;color:var(--muted)}.record-row>span{font:10px/1.6 monospace;color:var(--muted)}.record-row>span:last-child{text-align:right;font-size:9px}.record-row strong{font-size:13px;font-weight:500}.record-row p{font-size:10px;line-height:1.7;margin:8px 0 0;color:var(--muted)}.record-foot{text-align:right;padding:13px 17px;font:9px monospace}.modal-subtitle{font-size:20px;font-weight:500;margin-top:30px}.modal-copy{font-size:13px;line-height:1.8;color:var(--muted)}.awards-heading{display:flex;justify-content:space-between;font:10px monospace;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:13px}.ledger-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 0}.ledger-row>span{font-size:12px;max-width:53%;line-height:1.6}.ledger-row>i{flex:1;min-width:10px;height:1px;background:var(--line)}.ledger-row>div{display:flex;gap:3px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:42%}.ledger-row b,.ledger-row time{background:var(--panel);font:8px/1.5 monospace;color:var(--muted);padding:4px 7px;border-radius:4px}.ledger-row time{border-radius:20px}.awards-heading.second{margin-top:40px}.research-note{padding-top:22px;font-size:16px;line-height:1.6}.letter-copy{padding-top:40px}.letter-copy>p{font-size:18px;line-height:1.6;margin:0 0 23px;letter-spacing:-.3px}.letter-copy .letter-greeting{color:var(--muted);font-size:17px}.letter-education,.letter-tools{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.letter-education p,.letter-tools p{font-size:13px;line-height:1.8;color:var(--muted)}.signature{font:italic 40px Georgia,serif;letter-spacing:-2px;margin:33px 0 20px;transform:rotate(-5deg);transform-origin:left center}.letter-email{font:10px monospace;color:var(--muted)}.contact-desk{padding:100px 10% 130px;max-width:1300px;margin:auto}.contact-desk h1{font-size:clamp(55px,8vw,110px);font-weight:400;letter-spacing:-.065em;line-height:1.05}.contact-desk h1 em{font-family:Georgia,serif}.contact-email{font-size:clamp(17px,3vw,33px);border-bottom:1px solid var(--muted);padding-bottom:8px;overflow-wrap:anywhere}.contact-desk p{font-size:14px;line-height:1.8;color:var(--muted);margin:35px 0}.work-wheel{background:transparent;color:var(--ink);height:calc(100svh - 190px);min-height:650px;max-height:1100px}.wheel-top,.wheel-top .eyebrow,.wheel-hint,.wheel-indicator,.wheel-category,.wheel-count,.wheel-description,.wheel-no{color:var(--muted)}.wheel-go,.wheel-arrows button,.work-wheel .views{border-color:var(--line);color:var(--ink)}.wheel-open{border-color:var(--muted)}.wheel-axis{background:linear-gradient(90deg,transparent,#595e5020,transparent)}.wheel-image-link{border:8px solid var(--paper);border-radius:5px;box-shadow:0 20px 35px #30362225;transform:rotate(2deg)}.wheel-image-arrow{background:var(--paper);color:var(--ink)}.work-wheel .views{background:var(--paper);border-radius:7px}.work-wheel .views button{color:var(--muted);border-radius:4px}.work-wheel .views button[aria-pressed=true]{background:var(--panel);color:var(--ink)}.wheel-arrows button{border-radius:5px;background:var(--paper)}.wheel-title.is-current{font-weight:500}.intro{padding-top:65px}.toolbar,.work-note{border-color:var(--line)}.art{border:8px solid var(--paper);border-radius:5px}.card-info p,.number,.work-note,.intro-right p{color:var(--muted)}.views button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.case-head{padding-top:50px}.case-meta p,.section-head p,.reflection p,.figure figcaption,.pending{color:var(--muted)!important}.case-index,.reflection,.next,.project-recognition{border-color:var(--line)}.case-body{padding-bottom:80px}.case-cover{max-width:1400px;margin:auto;border:12px solid var(--paper);box-shadow:0 20px 45px #0002}.spread{border:9px solid var(--paper);border-radius:3px;box-shadow:0 8px 25px #0001}.project-recognition p{color:var(--muted)}.badge-stage{height:calc(100svh - 190px);min-height:720px;border-radius:0}.badge-heading .eyebrow{color:#afb5a1}.badge-stage .badge-heading h1{color:#f3f2e9}.skip:focus{z-index:100;background:var(--paper)}@keyframes file-arrive{from{opacity:0;transform:translateY(70px) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(-1.5deg)}}[data-theme=dark]{--desk:#222321;--paper:#343630;--ink:#eeeee6;--muted:#a6aa9f;--line:#52564b;--panel:#41453a;--white:#41453a}[data-theme=dark] .stamp-photo img{filter:grayscale(1) brightness(.9)}[data-theme=dark] .postcard{border-color:#ffffff15}[data-theme=dark] .modal-close{border-color:#777b71}[data-theme=dark] body{background-image:radial-gradient(#ffffff0b .65px,transparent .8px)}
@media(min-width:1600px){.postcard{width:920px;min-height:450px;padding:32px;gap:40px}.stamp-photo img{height:335px}.letter-preview p{font-size:30px}.postcard-content{padding-top:120px}.file-desk{height:calc(100svh - 190px);min-height:780px}}
@media(max-width:900px){header nav a{padding:9px 10px}.postcard{width:83vw;gap:25px;padding:24px}.stamp-photo img{height:270px}.letter-preview p{font-size:22px}.postcard-bottom>span{font-size:7px}.back-note{left:5%}.back-photo{right:5%}.wheel-name{font-size:30px}}
@media(max-width:700px){.status-strip{left:15px;gap:4px;font-size:7px}.status-strip span{padding:2px 4px}.status-strip span:nth-child(2){display:none}header{height:145px;padding:32px 5% 15px;grid-template-columns:1fr 1fr;gap:12px}.brand{margin-top:0}.brand .brand-circle{width:30px;height:30px;font-size:14px}.brand .brand-page{font-size:18px;padding:2px 6px}header nav{grid-column:1/-1;grid-row:2;justify-self:center;gap:0}header nav a{font-size:12px;padding:7px 16px}.header-tools{grid-column:2;grid-row:1}.header-tools a,.header-tools button{height:32px;min-width:32px;padding:0 9px;font-size:10px}.header-tools button{font-size:20px}footer,body:has(.work-wheel) footer{font-size:8px;margin:0 5%;line-height:1.6}footer span:nth-child(2){display:none}.file-desk{height:auto;min-height:800px;max-height:none;padding:85px 0 130px;display:flex;justify-content:center;align-items:center}.desk-caption{font-size:7px;left:5%;right:5%;gap:20px}.postcard{width:84vw;max-width:430px;display:block;padding:21px;transform:rotate(-1.5deg);border-radius:8px}.stamp-photo{width:64%;margin:0 auto;padding:13px}.stamp-photo img{height:210px}.stamp-photo strong{font-size:9px;letter-spacing:1px}.photo-waves{font-size:20px}.paper-clip{left:24px;top:-38px;width:29px;height:65px}.paper-clip::after{width:13px;height:45px}.postcard-content{padding-top:25px}.postcard-actions{top:17px;right:-2px;gap:6px}.postcard-actions button{width:33px;height:33px;border-radius:9px}.postcard-actions svg{width:17px;height:17px}.postal-seal{width:78px;height:78px;top:-235px;left:-5px;z-index:3;transform:rotate(-19deg)}.postal-seal span,.postal-seal small{font-size:5px}.postal-seal b{font-size:28px}.postal-lines{top:-238px;left:38px;font-size:45px;z-index:3}.letter-preview .micro{font-size:6px;max-width:150px;display:block}.letter-preview p{font-size:22px;margin:12px 0 17px}.postcard-links{padding-bottom:13px;font-size:9px}.postcard-bottom{padding:11px 0;gap:10px}.postcard-bottom button{font-size:13px}.postcard-bottom>span{font-size:7px}.back-note{left:-28px;top:45%;width:210px;height:210px;padding:18px}.back-note strong{font-size:20px}.back-photo{right:-40px;top:53%;width:220px;height:210px}.desk-instructions{bottom:25px;left:5%;right:5%;display:block;text-align:center}.desk-instructions>span{display:block;margin-bottom:15px}.desk-instructions>div{gap:6px;justify-content:center}.desk-instructions button{font-size:7px;padding:9px 10px}.side-file{font-size:8px;padding:13px 7px;top:40%}.file-modal{width:93vw;max-height:90svh;border-radius:9px}.modal-sheet{padding:33px 22px}.modal-close{width:32px;height:32px;right:17px;top:19px;font-size:22px}.file-modal h2:not(.sr-only){font-size:34px;letter-spacing:-1.4px;margin:36px 0}.micro{font-size:9px}.record-table{padding-left:14px}.record-head,.record-row{grid-template-columns:1.2fr 1fr;gap:10px;padding:13px 10px}.record-head span:last-child{display:none}.record-row>span:last-child{grid-column:1/-1;text-align:left;font-size:8px}.record-row strong{font-size:12px}.record-row>span{font-size:9px}.record-row p{font-size:9px}.record-table::before{left:4px;width:6px;background-size:6px 100px}.ledger-row{gap:7px}.ledger-row>span{font-size:11px;max-width:50%}.ledger-row>div{max-width:45%}.ledger-row b,.ledger-row time{font-size:7px;padding:3px 5px}.letter-copy{padding-top:38px}.letter-copy>p{font-size:16px;line-height:1.65}.signature{font-size:34px}.contact-desk{padding:65px 7% 100px}.work-wheel{height:auto;min-height:800px}.wheel-name{font-size:clamp(20px,5.5vw,32px)}.wheel-preview{top:415px}.wheel-bottom{bottom:25px}.badge-stage{height:850px;min-height:850px}.case-head h1{font-size:39px}.case-cover{border-width:6px}.spread{border-width:5px}}
@media(prefers-reduced-motion:reduce){.postcard{animation:none}}

body[data-page="contact"] .header-tools>a{display:none}.contact-socials{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:720px;margin-top:55px;border-top:1px solid var(--line);padding-top:28px}.contact-socials strong{display:block;font-size:23px;font-weight:400;letter-spacing:-.5px;margin-top:14px;overflow-wrap:anywhere}.contact-socials a:hover strong{text-decoration:underline;text-underline-offset:6px}.wechat-id{user-select:all}.contact-social-note{font:10px monospace;color:var(--muted);display:block;margin-top:12px}@media(max-width:700px){.contact-socials{gap:30px;grid-template-columns:1fr;margin-top:38px}.contact-socials strong{font-size:22px}}
/* Work wheel: reference measurements, scoped to wheel view only. */
body:has(.work-wheel) header{position:absolute;top:0;left:0;right:0}body:has(.work-wheel) footer{display:none}.work-wheel{height:100svh;min-height:600px;max-height:none}.work-wheel .wheel-top,.work-wheel .wheel-axis{display:none}.work-wheel .wheel-zone{top:0;bottom:0;width:73%;height:auto;touch-action:none;cursor:grab;user-select:none}.work-wheel .wheel-zone.is-dragging{cursor:grabbing}.work-wheel .wheel-titles{left:7.34375vw;top:50%;width:max-content}.work-wheel .wheel-title{left:0;top:0;width:max-content;max-width:none;gap:0;transform-origin:0 0;transition:none;white-space:nowrap;will-change:transform,opacity;align-items:center}.work-wheel .wheel-name{font-family:Oracle,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:64px;font-weight:400;line-height:1.105;letter-spacing:-2.688px}.work-wheel .wheel-tags{display:flex;align-items:center;gap:3px;margin-left:16px;opacity:0;transition:opacity .18s;max-width:320px;flex-wrap:wrap}.work-wheel .wheel-tags>span{font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.2;font-weight:400;letter-spacing:-.15px;text-transform:uppercase;background:var(--panel);color:var(--muted);padding:5px 7px;border-radius:4px}.work-wheel .is-current .wheel-tags{opacity:1}.work-wheel .wheel-go{font-size:13px;width:21px;height:21px;border:0;border-radius:50%;background:var(--ink);color:var(--paper);margin-left:5px;opacity:0}.work-wheel .is-current .wheel-go{opacity:1}.work-wheel .wheel-title:hover{color:var(--ink)}.work-wheel .wheel-preview{width:min(26vw,352px);max-width:352px;right:clamp(20px,2.18vw,30px);top:50%;transform:translateY(-50%);z-index:3;pointer-events:none}.work-wheel .wheel-image-link{pointer-events:auto;aspect-ratio:4/3;border:0;border-radius:7px;transform:none;box-shadow:none;overflow:hidden;background:#242424}.work-wheel .wheel-image{object-fit:cover;width:100%;height:100%;display:block}.work-wheel .wheel-image-link:hover .wheel-image{transform:none}.work-wheel .wheel-bottom{left:30px;right:30px;bottom:20px;justify-content:center;pointer-events:none;z-index:5}.work-wheel .wheel-bottom .views{pointer-events:auto;gap:2px;padding:4px;border-radius:5px}.work-wheel .wheel-bottom .views button{font:10px Arial,sans-serif;padding:10px 13px}.work-wheel .wheel-hint{position:absolute;left:0;font-size:7px;letter-spacing:.5px}.work-wheel .wheel-arrows{position:absolute;right:0;pointer-events:auto}.work-wheel .wheel-open.sr-only:focus-visible{position:static;clip:auto;width:auto;height:auto;display:block;background:var(--paper);padding:12px;pointer-events:auto}
@media(max-width:1100px) and (min-width:701px){.work-wheel .wheel-preview{width:26vw}.work-wheel .wheel-tags{max-width:180px;margin-left:10px}.work-wheel .wheel-tags>span{font-size:8px;padding:4px 5px}}
@media(max-width:700px){.work-wheel{height:100svh;min-height:740px}.work-wheel .wheel-zone{top:110px;bottom:auto;height:365px;width:100%}.work-wheel .wheel-titles{top:50%;left:7vw}.work-wheel .wheel-name{font-size:34px;line-height:1.105;letter-spacing:-1.428px}.work-wheel .wheel-title{gap:0}.work-wheel .wheel-tags{gap:2px;margin-left:8px;max-width:110px}.work-wheel .wheel-tags>span{font-size:6px;padding:3px 4px;border-radius:3px}.work-wheel .wheel-go{width:16px;height:16px;font-size:10px;flex-shrink:0}.work-wheel .wheel-preview{left:auto;right:7%;top:auto;bottom:100px;width:min(56vw,260px);max-width:260px;transform:none;display:block}.work-wheel .wheel-image-link{aspect-ratio:4/3;border-radius:5px}.work-wheel .wheel-bottom{bottom:22px;left:5%;right:5%;gap:0;flex-wrap:nowrap}.work-wheel .wheel-bottom .views{order:0;margin:0}.work-wheel .wheel-bottom .views button{font-size:9px;padding:9px 11px}.work-wheel .wheel-hint{left:0;bottom:53px;max-width:110px}.work-wheel .wheel-hint>span:last-child{font-size:6px}.work-wheel .wheel-arrows{right:0;bottom:54px}.work-wheel .wheel-arrows button{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.work-wheel .wheel-title{will-change:auto}.work-wheel .wheel-tags{transition:none}}
/* About: three independent physical cards */
.file-desk{height:calc(100svh - 190px);min-height:650px;max-height:none;display:block;perspective:1800px}.file-desk [data-desk-card]{position:absolute;margin:0;transform-origin:50% 50%;cursor:grab;touch-action:none;user-select:none;transition:transform .65s cubic-bezier(.22,.85,.22,1),box-shadow .5s,filter .4s;will-change:transform;animation:none}.file-desk [data-desk-card]:focus-visible{outline:2px solid var(--muted);outline-offset:8px}.file-desk [data-desk-card].is-dragging{cursor:grabbing;transition:none}.file-desk [data-desk-card] img{-webkit-user-drag:none;pointer-events:none}.file-desk .postcard{left:50%;top:41%;width:min(58vw,710px);min-height:0;padding:23px;gap:25px;display:grid;grid-template-columns:36% 1fr;box-shadow:0 16px 30px #24291b23,0 2px 4px #0001}.file-desk .stamp-photo img{height:245px}.file-desk .stamp-photo strong{font-size:9px;letter-spacing:1.2px}.file-desk .postcard-content{padding-top:90px}.file-desk .letter-preview p{font-size:22px;line-height:1.2;margin:11px 0 16px}.file-desk .postcard-bottom{padding:10px 0}.file-desk .postcard-bottom>span{font-size:8px}.file-desk .postcard-bottom button{font-size:13px}.file-desk .postcard-actions button{width:35px;height:35px;border-radius:10px}.file-desk .postal-seal{width:90px;height:90px;left:-45px}.file-desk .postal-seal span,.file-desk .postal-seal small{font-size:6px}.file-desk .postal-lines{font-size:55px}.file-desk .back-note{left:25%;top:67%;width:min(31vw,355px);height:250px;padding:24px;border-radius:7px;box-shadow:0 12px 24px #0003}.file-desk .back-photo{left:77%;top:65%;right:auto;width:min(29vw,320px);height:250px;border-width:9px;border-bottom-width:35px;box-shadow:0 16px 25px #0003}.file-desk.has-expanded [data-desk-card]:not(.is-expanded){filter:brightness(.75);pointer-events:none}.file-desk [data-desk-card].is-expanded{box-shadow:0 35px 75px #0005;cursor:grab}.desk-shade{position:absolute;inset:0;background:#282e233f;z-index:80;animation:desk-dim .35s ease;backdrop-filter:blur(1px)}.desk-shade[hidden],.desk-unfocus[hidden]{display:none}.desk-unfocus{position:absolute;z-index:100;bottom:14px;left:50%;transform:translateX(-50%);width:44px;height:44px;display:grid;place-items:center;font-size:25px;line-height:1;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 3px 8px #0002}.has-expanded .desk-instructions{visibility:hidden}.file-desk .desk-instructions{bottom:22px;font-size:8px}.social-icons{position:relative;display:flex;align-items:center;gap:14px;padding-bottom:13px}.social-icons>a,.social-icons>button{display:grid;place-items:center;width:24px;height:25px;border:0;padding:0;background:transparent;color:var(--muted);transition:transform .2s,color .2s}.social-icons>a:hover,.social-icons>button:hover{transform:translateY(-2px);color:var(--ink)}.social-icons svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.social-icons .icon-dot{fill:currentColor;stroke:none}.social-icons .icon-eyes{stroke-width:2.2}.social-icons .wechat-popover{position:absolute;left:24px;bottom:45px;background:var(--ink);color:var(--paper);padding:10px 13px;border-radius:5px;white-space:nowrap;font:10px monospace;user-select:all;box-shadow:0 5px 15px #0002;z-index:10}.file-modal[open]{animation:file-expand .45s cubic-bezier(.18,.8,.2,1)}@keyframes file-expand{from{opacity:0;transform:translateY(28px) scale(.87)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes desk-dim{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.file-desk .postcard{width:760px;padding:27px;gap:30px}.file-desk .stamp-photo img{height:270px}.file-desk .postcard-content{padding-top:105px}.file-desk .letter-preview p{font-size:25px}.file-desk .back-note{width:380px;height:270px}.file-desk .back-photo{width:350px;height:275px}}
@media(max-width:1000px) and (min-width:701px){.file-desk .postcard{width:67vw;gap:18px;padding:20px}.file-desk .stamp-photo img{height:220px}.file-desk .letter-preview p{font-size:20px}.file-desk .postcard-bottom>span{font-size:6px}.file-desk .postcard-content{padding-top:80px}.file-desk .back-note{left:23%;top:68%;width:31vw;height:225px}.file-desk .back-photo{left:77%;top:66%;width:29vw;height:220px}}
@media(max-width:700px){.file-desk{height:850px;min-height:850px;padding:0;overflow:hidden}.file-desk .desk-caption{top:10px}.file-desk .postcard{left:50%;top:35%;width:79vw;max-width:370px;padding:17px;display:block}.file-desk .stamp-photo{width:63%;padding:10px;margin:0 auto}.file-desk .stamp-photo img{height:180px}.file-desk .stamp-photo strong{font-size:8px;letter-spacing:.8px}.file-desk .postcard-content{padding-top:21px}.file-desk .letter-preview .micro{font-size:6px}.file-desk .letter-preview p{font-size:20px;margin:9px 0 13px}.file-desk .postcard-actions{top:17px;right:0;gap:5px}.file-desk .postcard-actions button{width:29px;height:29px;border-radius:8px}.file-desk .postcard-actions svg{width:15px;height:15px}.file-desk .postal-seal{width:68px;height:68px;top:-200px;left:-4px}.file-desk .postal-seal span,.file-desk .postal-seal small{font-size:4px}.file-desk .postal-lines{top:-200px;left:28px;font-size:36px}.file-desk .postcard-bottom>span{font-size:6px}.file-desk .postcard-bottom button{font-size:12px}.file-desk .postcard-bottom{gap:8px;padding:9px 0}.file-desk .back-note{left:30%;top:69%;width:55vw;max-width:250px;height:195px;padding:18px}.file-desk .back-note>span{font-size:6px}.file-desk .back-note strong{font-size:20px;margin:10px 0}.file-desk .back-note p{font-size:8px}.file-desk .note-grid{gap:3px}.file-desk .note-grid i{height:7px}.file-desk .back-photo{left:73%;top:72%;width:47vw;max-width:220px;height:180px;border-width:7px;border-bottom-width:28px}.file-desk .back-photo span{font-size:6px;margin-top:7px}.file-desk .desk-instructions{bottom:24px;line-height:1.8}.file-desk .desk-instructions>span{font-size:7px}.file-desk .desk-instructions button{padding:8px;font-size:7px}.file-desk .side-file{top:42%}.file-desk .desk-unfocus{bottom:18px}.file-desk .social-icons{gap:12px;padding-bottom:9px}.file-desk .social-icons>a,.file-desk .social-icons>button{height:23px}.file-desk .social-icons svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.file-desk [data-desk-card]{transition:none;will-change:auto}.file-modal[open],.desk-shade{animation:none}}
/* Clear sky palette and soft pointer response. */
:root{--desk:#dfedf7;--paper:#f5faff;--ink:#253f55;--muted:#627f96;--line:#bfd3e3;--panel:#e4eff8;--white:#ffffff}html{background:var(--desk)}body{background-image:radial-gradient(#4e84ab15 .65px,transparent .8px),linear-gradient(125deg,#f3faff80,#c5e1f52b 65%,#f4faff70);background-size:4px 4px,100% 100%}body::after{box-shadow:inset 0 0 180px #659fc213}.status-strip span{background:#c8ddec8c}.file-desk .stamp-photo img,[data-theme=dark] .file-desk .stamp-photo img{filter:saturate(.95) contrast(.98);border-radius:2px}.postcard,.file-modal{background-image:radial-gradient(#4e84ab0c .7px,transparent 1px)}.file-desk .postcard{border-color:#ffffffb3;box-shadow:0 18px 35px #46789525,0 2px 4px #4d83a215}.file-desk .back-note{background:linear-gradient(135deg,#4c789a,#365e7c);color:#e2f2ff;border:1px solid #a8cbe2;box-shadow:0 13px 28px #3767882e}.back-note>span{color:#c2deef}.note-grid i{background:#b4dbf54d}.note-grid i:nth-child(3n){background:#e6f6ff99}.file-desk .back-photo{background:#466c89;border-color:#557f9e;box-shadow:0 15px 28px #46789535}.back-photo img{filter:saturate(.8) brightness(1.04)}.back-photo span{color:#e1f2ff}.postal-seal{border-color:#6e9bbb77;color:#698eaa77;outline-color:#6e9bbb55}.postal-lines{color:#7ca5c355}.photo-waves{color:#91b4ce}.postcard-actions button{border-color:#a9c5d9}.paper-clip{border-color:#7393ac}.paper-clip::after{border-color:#a6c3d8}.desk-shade{background:#47718d26;backdrop-filter:blur(1px)}.file-desk.has-expanded [data-desk-card]:not(.is-expanded){filter:brightness(.96) saturate(.85)}.file-desk [data-desk-card].is-expanded{box-shadow:0 35px 80px #37617e38}.file-desk [data-desk-card]{transform-style:preserve-3d;backface-visibility:hidden;transition:transform .48s cubic-bezier(.2,.8,.2,1),box-shadow .4s,filter .4s}.file-desk [data-desk-card].is-tilting{transition:transform .14s ease-out,box-shadow .3s}.file-desk [data-desk-card].is-dragging{transition:none}.postcard.is-expanded::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#ffffff23,transparent 62%);z-index:9}.cursor-particles{position:absolute;inset:0;pointer-events:none;z-index:96;contain:strict}.file-desk .postcard-links{position:relative;z-index:10}.file-desk .postcard-actions,.file-desk .postcard-bottom{position:relative;z-index:10}.file-desk .postcard-actions{position:absolute}.file-modal::backdrop{background:#3d658747}.badge-stage{background-color:#b9d8ec;background-image:radial-gradient(ellipse at 66% 35%,#eef8ff,transparent 65%);color:var(--ink)}.badge-stage .badge-heading h1{color:var(--ink)}.badge-heading p,.badge-stage .badge-heading .eyebrow,.badge-controls>span{color:#547995}.badge-replay{border-color:#86adc7;color:#365e7a}.badge-scroll{border-color:#86adc7;color:#365e7a}.badge-paper img{filter:saturate(.95)}.badge-stage::after{box-shadow:inset 0 0 160px #5795be12}
[data-theme=dark]{--desk:#1e3548;--paper:#2b465d;--ink:#e5f3fd;--muted:#aecbdf;--line:#4c6f88;--panel:#36556d;--white:#375a76}[data-theme=dark] body{background-image:radial-gradient(#aedaff10 .65px,transparent .8px),linear-gradient(130deg,#253e53,#1c3346)}[data-theme=dark] .status-strip span{background:#36556d}[data-theme=dark] .postcard{border-color:#8ab9d336}[data-theme=dark] .file-desk .back-note{background:linear-gradient(135deg,#325b79,#23445f)}[data-theme=dark] .badge-stage{background-color:#203f57;background-image:radial-gradient(ellipse at 66% 35%,#426b8b,transparent 65%)}[data-theme=dark] .badge-stage .badge-heading h1{color:#e5f3fd}[data-theme=dark] .badge-heading p,[data-theme=dark] .badge-stage .badge-heading .eyebrow,[data-theme=dark] .badge-controls>span,[data-theme=dark] .badge-scroll,[data-theme=dark] .badge-replay{color:#bdd9ec}
@media(prefers-reduced-motion:reduce){.cursor-particles{display:none}.file-desk [data-desk-card],.file-desk [data-desk-card].is-tilting{transition:none}}
/* A full-page elastic dot mesh, below content and cards. */
body{background-image:linear-gradient(125deg,#f3faff80,#c5e1f52b 65%,#f4faff70);background-size:100% 100%;isolation:isolate}main{position:relative;z-index:1}body>.cursor-particles.mesh-background{position:fixed;inset:0;width:100vw;height:100svh;z-index:0;pointer-events:none;contain:strict}footer{position:relative;z-index:1}.file-desk{background:transparent}.postcard,.file-modal{background-color:var(--paper)}[data-theme=dark] body{background-image:linear-gradient(130deg,#253e53,#1c3346)}
@media(prefers-reduced-motion:reduce){body{background-image:radial-gradient(#4e84ab15 .65px,transparent .8px),linear-gradient(125deg,#f3faff80,#c5e1f52b 65%,#f4faff70);background-size:14px 14px,100% 100%}}
/* Contact / personal correspondence */
.correspondence{position:relative;width:min(930px,86vw);margin:25px auto 65px;padding-right:110px}.letter-sheet{position:relative;z-index:2;background:#f6fbff;color:#2b465b;padding:49px 53px 30px;box-shadow:0 18px 50px #4d7d9b24;border:1px solid #fff9;min-height:780px;background-image:linear-gradient(110deg,#ffffff25,transparent 45%)}header.letterhead{display:flex;align-items:center;justify-content:flex-start;gap:25px;padding:0 0 24px;height:auto;position:static;z-index:auto;grid-template-columns:none;border-bottom:1px solid #bdd1df;margin:0 0 29px}.letter-monogram{height:46px;width:46px;border:1px solid #7f9db4;border-radius:50%;display:grid;place-items:center;font:italic 23px Georgia,serif;color:#718fa7;transform:rotate(-9deg);flex-shrink:0}.letterhead h2{font-size:18px;font-weight:500;letter-spacing:-.5px;margin:0 0 6px}.letterhead p,.letterhead a{font:9px/1.8 monospace;letter-spacing:.65px;margin:0;color:#6b879c;display:block;overflow-wrap:anywhere}.letter-date{font:10px monospace;letter-spacing:.3px;color:#8199ab;margin:0 0 25px}.salutation{font:14px monospace;margin:0 0 28px}.letter-form{font:12px monospace}.letter-subject{border:0;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;align-items:center;gap:13px 18px;min-width:0}.letter-subject legend{float:left;margin:0 6px 0 0;padding:3px 0;color:#7893a8;font:10px monospace}.letter-subject label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:10px;white-space:nowrap}.letter-subject input{appearance:none;border:1px solid #94b0c4;width:11px;height:11px;display:grid;place-content:center;margin:0;flex-shrink:0;cursor:pointer;border-radius:1px}.letter-subject input:checked::after{content:'×';font:12px monospace;line-height:8px;color:#385f7a}.letter-from{display:flex;align-items:center;border-bottom:1px solid #c6d8e5;margin-bottom:15px;gap:14px}.letter-from label{font:10px monospace;color:#7893a8;white-space:nowrap}.letter-from input{width:100%;min-width:0;padding:10px 0;background:transparent;border:0;border-radius:0;font:12px monospace;color:#2b465b;outline-offset:3px}.letter-form textarea{display:block;width:100%;resize:vertical;min-height:204px;padding:0 0 4px;border:0;border-radius:0;font:13px/30px monospace;color:#2b465b;background-color:transparent;background-image:repeating-linear-gradient(transparent 0,transparent 29px,#c6d8e5 29px,#c6d8e5 30px);background-attachment:local;outline-offset:5px}.letter-form input::placeholder,.letter-form textarea::placeholder{color:#a0b5c4;opacity:1}.letter-form :focus-visible{outline:2px solid #79a8c8;outline-offset:4px}.letter-signoff{margin:27px 0 25px;max-width:330px}.letter-signoff>p{font:13px monospace;margin:0 0 12px}.letter-signoff input{font:italic 28px/1.4 Georgia,serif;color:#3f6886;background:none;border:0;padding:3px 0;width:100%;min-width:0;border-bottom:1px solid #bed2e0;outline-offset:4px}.letter-signoff input::placeholder{font-style:italic;color:#a1b8c9}.signature-rule{display:none}.letter-send-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:15px}.letter-send-note{font:8px/1.8 monospace;color:#819bad;letter-spacing:.25px}.letter-send{border:1px solid #8daec5;border-radius:4px;background:#dbeaf5;color:#305978;font:12px monospace;padding:12px 17px;display:flex;gap:23px;align-items:center;transition:transform .2s,background .2s}.letter-send:hover{transform:translateY(-2px);background:#d0e5f3}.letter-send span{font-size:18px}.letter-delivery-note{font:9px/1.8 monospace;color:#819bad;margin:19px 0 0;max-width:480px}.letter-form-status{font:10px/1.8 monospace;color:#4b7490;margin:12px 0 0}.letter-form-status:empty{display:none}.letter-ticket{position:absolute;top:-13px;right:-15px;width:230px;padding:28px 21px 22px;background:#edf7fe;color:#5b7f9a;z-index:3;transform:rotate(2deg);filter:drop-shadow(3px 8px 8px #517f981a);clip-path:polygon(0 6px,3% 0,6% 6px,9% 0,12% 6px,15% 0,18% 6px,21% 0,24% 6px,27% 0,30% 6px,33% 0,36% 6px,39% 0,42% 6px,45% 0,48% 6px,51% 0,54% 6px,57% 0,60% 6px,63% 0,66% 6px,69% 0,72% 6px,75% 0,78% 6px,81% 0,84% 6px,87% 0,90% 6px,93% 0,96% 6px,100% 0,100% 100%,0 100%)}.ticket-top{font:9px/1.7 monospace;letter-spacing:.2px;border-bottom:1px dashed #b5ccdc;padding-bottom:12px}.ticket-top>span{font-size:7px;color:#8ba4b7}.letter-ticket dl{margin:8px 0 15px}.letter-ticket dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:9px;border-bottom:1px solid #ccdfea;padding:9px 0;font:8px/1.5 monospace}.letter-ticket dt{color:#8ba4b7}.letter-ticket dd{text-align:right;margin:0;overflow-wrap:anywhere}.ticket-barcode{height:26px;background:repeating-linear-gradient(90deg,#436783 0 1px,transparent 1px 3px,#436783 3px 6px,transparent 6px 8px,#436783 8px 9px,transparent 9px 12px,#436783 12px 14px,transparent 14px 17px);margin:5px 0 8px;opacity:.75}.ticket-bottom{font:6px monospace;letter-spacing:.2px;color:#8ca7bb}.ticket-clip{position:absolute;width:14px;height:45px;left:8px;top:6px;border:2px solid #8eaec4;border-radius:10px;transform:rotate(-4deg);box-shadow:1px 0 1px #fff9}.ticket-clip::after{content:'';position:absolute;inset:4px 3px -6px -4px;border:1px solid #6489a5;border-radius:9px}.letter-contact-links{margin-top:27px;display:flex;gap:17px 25px;flex-wrap:wrap;font:8px/1.8 monospace;letter-spacing:.2px;color:var(--muted);position:relative;z-index:1}.letter-contact-links>span:first-child{width:100%;font-size:8px}.letter-contact-links a{border-bottom:1px solid var(--line);padding-bottom:3px}.letter-wechat>span{user-select:all}
[data-theme=dark] .letter-sheet{background:#2c485f;color:#e1f0fb;border-color:#a5d0eb22;box-shadow:0 18px 50px #091b2b3d}[data-theme=dark] .letter-form input,[data-theme=dark] .letter-form textarea{color:#e1f0fb}[data-theme=dark] .letter-ticket{background:#385a74;color:#cee5f5}[data-theme=dark] .letterhead p,[data-theme=dark] .letterhead a,[data-theme=dark] .letter-date,[data-theme=dark] .letter-subject legend,[data-theme=dark] .letter-from label,[data-theme=dark] .letter-send-note,[data-theme=dark] .letter-delivery-note,[data-theme=dark] .letter-form-status{color:#a2c3dc}[data-theme=dark] .letter-form textarea{background-image:repeating-linear-gradient(transparent 0,transparent 29px,#5a7a923f 29px,#5a7a923f 30px)}[data-theme=dark] .letter-send{background:#426983;color:#e1f0fb;border-color:#6f96af}[data-theme=dark] .ticket-barcode{filter:brightness(1.9)}
@media(max-width:1000px){.correspondence{width:88vw;padding-right:65px}.letter-sheet{padding:40px 35px 28px}.letter-ticket{width:190px;right:-10px}.letterhead{gap:15px!important}.letterhead p,.letterhead a{font-size:8px}.letterhead>div{max-width:330px}}
@media(max-width:700px){.correspondence{width:90vw;padding:0;margin:12px auto 40px;display:flex;flex-direction:column}.letter-sheet{padding:28px 23px;min-height:0}.letterhead{gap:13px!important;padding-bottom:19px!important;margin-bottom:23px!important}.letter-monogram{height:34px;width:34px;font-size:17px}.letterhead h2{font-size:16px}.letterhead p,.letterhead a{font-size:7px;letter-spacing:.1px}.letter-date{font-size:9px}.salutation{font-size:13px;margin-bottom:23px}.letter-subject{gap:12px;margin-bottom:20px}.letter-subject legend{width:100%;float:none;margin-bottom:12px;font-size:9px}.letter-subject label{font-size:9px;gap:5px}.letter-from label{font-size:9px}.letter-from input{font-size:11px}.letter-form textarea{font-size:12px;min-height:210px}.letter-signoff input{font-size:27px}.letter-send-row{gap:12px}.letter-send{font-size:11px;padding:11px 12px;gap:10px}.letter-send-note{font-size:6px}.letter-delivery-note{font-size:8px}.letter-ticket{position:relative;align-self:flex-end;top:auto;right:10px;width:225px;margin-top:-2px;margin-bottom:0;transform:rotate(3deg);z-index:1;padding-top:23px}.letter-contact-links{margin-top:33px;font-size:8px;gap:14px}.letter-ticket dl>div{padding:7px 0}.letter-ticket .ticket-clip{display:none}.letter-form-status{font-size:9px}}
@media(prefers-reduced-motion:reduce){.letter-send{transition:none}.letter-send:hover{transform:none}}
/* Magnetic navigation and paper-turn route transitions. */
header>nav{position:relative;isolation:isolate;perspective:700px}header>nav>[data-nav]{position:relative;z-index:2;perspective:450px;background:transparent!important;box-shadow:none!important;overflow:hidden;display:block}.nav-follow{position:absolute;left:0;top:0;background:var(--panel);border-radius:5px;z-index:1;pointer-events:none;transition:transform .28s cubic-bezier(.2,.85,.25,1),width .28s,height .28s;box-shadow:inset 0 1px 2px #4168860b}.nav-word{position:relative;display:block;transform-style:preserve-3d;translate:var(--nav-magnet,0px) 0;transition:translate .18s ease;line-height:1.2}.nav-face{display:block;backface-visibility:hidden;transform:translateZ(7px)}.nav-face-back{position:absolute;inset:0;transform:rotateX(180deg) translateZ(7px)}main.page-turning{pointer-events:none;will-change:transform,opacity;backface-visibility:hidden}main.page-turning::after{content:'';position:absolute;inset:0;z-index:120;pointer-events:none;background:linear-gradient(90deg,#4e85ad00,#5f91b318 70%,#2a587d25);box-shadow:12px 0 35px #36688d14}.page-turning .work-wheel{overflow:hidden}body:has(main.page-turning){overflow-x:clip}@media(prefers-reduced-motion:reduce){.nav-follow,.nav-word{transition:none}main.page-turning::after{display:none}}

/* Vertical page advance: top/bottom fold and shadow. */
main.page-turning::after{background:linear-gradient(180deg,#4e85ad00,#5f91b310 65%,#2a587d22);box-shadow:0 15px 40px #36688d18}body:has(main.page-turning){overflow:clip}

/* Project detail: one introduction, followed by uninterrupted images and video. */
.project-gallery-page .case-meta{grid-template-columns:2fr 1fr;max-width:1000px}.project-image-sequence{max-width:1600px;margin:0 auto 65px;padding:0 3%;display:flex;flex-direction:column;gap:0}.project-page-image{display:block;width:100%;height:auto;border:0;box-shadow:none;margin:0;background:var(--paper)}.project-video{position:relative;aspect-ratio:16/9;width:100%;background:#10151b;margin-top:0}.project-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}@media(max-width:700px){.project-gallery-page .case-meta{grid-template-columns:1fr}.project-image-sequence{padding:0;margin-bottom:40px}.project-gallery-page .case-head{padding-bottom:30px}}
/* LIST / straight typography with a scroll-following preview */
body:has(.work-list) header,body:has(.work-panorama) header{position:fixed;top:0;left:0;right:0}body:has(.work-list) footer,body:has(.work-panorama) footer{display:none}.work-list{min-height:100svh}.vertical-titles{padding:calc(50svh - 55px) 0 calc(50svh - 55px) 4%;width:74%}.vertical-title{height:112px;display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;opacity:.4;transition:opacity .3s;white-space:nowrap}.vertical-title>span:first-child{font-family:Oracle,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:64px;font-weight:400;line-height:1.105;letter-spacing:-2.688px}.vertical-title.is-current,.vertical-title:hover,.vertical-title:focus-visible{opacity:1}.vertical-tags{display:flex;gap:3px;flex-wrap:wrap;max-width:180px;opacity:0;transition:opacity .2s}.vertical-tags b{font:9px/1.3 Arial,sans-serif;text-transform:uppercase;background:var(--panel);color:var(--muted);padding:5px 6px;border-radius:4px}.vertical-title.is-current .vertical-tags,.vertical-title:hover .vertical-tags{opacity:1}.vertical-title i{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--ink);color:var(--paper);font:13px Arial,sans-serif;opacity:0}.vertical-title.is-current i{opacity:1}.list-preview{position:fixed;right:clamp(20px,2.18vw,30px);top:0;width:min(26vw,352px);aspect-ratio:4/3;z-index:3;transition:transform .38s cubic-bezier(.18,.8,.24,1);will-change:transform;overflow:hidden;border-radius:7px;background:#243b4d}.list-preview a,.list-preview img{display:block;width:100%;height:100%;object-fit:cover}.work-mode-dock{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:30}.work-mode-dock .views{padding:4px;gap:2px;border:1px solid var(--line);border-radius:5px;background:var(--paper);box-shadow:0 2px 8px #395f7d0a}.work-mode-dock .views button{padding:10px 13px;border-radius:3px;font:10px Arial,sans-serif;color:var(--muted)}.work-mode-dock .views button[aria-pressed=true]{background:var(--panel);color:var(--ink)}
/* GRID / two-dimensional curved image plane */
.work-panorama{height:100svh;min-height:600px;position:relative;overflow:hidden;touch-action:none;cursor:grab;perspective:1100px;isolation:isolate}.work-panorama.is-dragging{cursor:grabbing}.grid-space{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}.grid-tile{position:absolute;left:0;top:0;display:block;transform-origin:50% 50%;backface-visibility:hidden;will-change:transform;user-select:none;transform-style:preserve-3d}.grid-tile-art{aspect-ratio:4/3;position:relative;overflow:hidden;border-radius:7px;background:var(--panel);box-shadow:0 8px 25px #385e7612}.grid-tile-art img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none;transition:transform .3s}.grid-tile:hover .grid-tile-art img{transform:scale(1.035)}.grid-tile-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;letter-spacing:-.3px;padding-top:12px;color:var(--ink)}.grid-tile-caption b{font:8px/1.3 Arial,sans-serif;color:var(--muted);background:var(--panel);padding:4px 6px;border-radius:4px;text-transform:uppercase;white-space:nowrap}.grid-help{position:absolute;bottom:30px;left:28px;font:8px monospace;letter-spacing:.7px;color:var(--muted);pointer-events:none}.grid-help span{font-size:15px;margin-left:12px}.work-panorama .work-mode-dock{position:absolute}.grid-tile:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.work-panorama:focus-visible{outline:1px solid var(--line);outline-offset:-8px}@media(max-width:1000px) and (min-width:701px){.vertical-title>span:first-child{font-size:52px;letter-spacing:-2.18px}.vertical-title{gap:9px}.vertical-tags{max-width:110px}.vertical-tags b{font-size:7px;padding:4px}}
@media(max-width:700px){.vertical-titles{width:100%;padding:calc(40svh - 45px) 6% calc(60svh - 45px)}.vertical-title{height:100px;gap:8px;max-width:100%;flex-wrap:wrap;align-content:center;justify-content:flex-start}.vertical-title>span:first-child{font-size:32px;letter-spacing:-1.344px;line-height:1.2}.vertical-tags{max-width:100%;gap:2px}.vertical-tags b{font-size:6px;padding:3px 4px}.vertical-title i{width:16px;height:16px;font-size:10px}.list-preview{width:min(48vw,240px);right:6%;top:0;border-radius:5px;z-index:2}.work-mode-dock{bottom:22px}.work-mode-dock .views button{font-size:9px;padding:9px 12px}.work-panorama{min-height:650px}.grid-tile-art{border-radius:5px}.grid-tile-caption{font-size:10px;gap:7px;padding-top:9px}.grid-tile-caption b{font-size:6px}.grid-help{bottom:83px;left:20px;font-size:6px}.grid-help span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.vertical-title,.vertical-tags,.list-preview,.grid-tile-art img{transition:none}.grid-tile{will-change:auto}}
.grid-access:focus-within{position:absolute;left:25px;top:125px;width:auto;height:auto;margin:0;clip:auto;white-space:normal;padding:20px;display:grid;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:6px;z-index:40;font-size:13px}
