:root{--ink:#171917;--paper:#fafbf8;--muted:#73766e;--line:#d9ddd3;--accent:#d5ff4b;--pad:3.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Noto Sans SC,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a:focus-visible,button:focus-visible{outline:3px solid #8caa27;outline-offset:6px}img{max-width:100%;display:block}button{border:0;background:none}::selection{background:var(--accent)}.site-header{height:105px;padding:26px var(--pad);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:10}.brand{display:block;width:105px}.brand img{width:100%}.site-header nav{display:flex;gap:42px}.site-header nav a{font-size:13px;font-weight:600}.site-header nav span{font-size:11px;margin-left:7px}.hero{min-height:calc(100svh - 105px);padding:12px var(--pad) 32px;display:flex;flex-direction:column;overflow:hidden}.hero-eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.04em}.status-dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:var(--ink);box-shadow:0 0 0 5px var(--accent)}.hero-edition{margin-left:auto;font-size:10px;letter-spacing:.08em}.hero-portal{display:flex;align-items:center;justify-content:center;flex:1;min-height:350px;padding:2vh 5vw}.hero-mask,.hero-portal{position:relative;width:100%}.hero-mask{height:clamp(260px,min(39vw,52svh),570px);mask-image:url(/media/wang-mark.png);mask-repeat:no-repeat;mask-position:center;mask-size:contain;background:var(--ink);transition:transform .65s cubic-bezier(.2,.6,.2,1)}.hero-mask img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s,transform 4s;transform:scale(1.03)}.hero-mask img.active{opacity:1;transform:scale(1.1)}.hero-portal:hover .hero-mask{transform:scale(1.025)}.portal-hint{position:absolute;bottom:10%;right:7%;background:var(--accent);padding:13px 19px;border-radius:50px;font-size:12px;display:flex;gap:25px;align-items:center;transition:transform .25s}.portal-hint span{font-size:22px}.hero-portal:hover .portal-hint{transform:translateY(-5px)}.entering .hero-mask{transform:scale(4);opacity:.2}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.hero-bottom h1{font-size:24px;line-height:1.45;margin:0;font-weight:600;letter-spacing:-.04em}.hero-bottom h1 span{font-size:10px;font-weight:500;letter-spacing:.03em}.hero-bottom p{font-size:11px;line-height:1.9;margin:0}.hero-bottom p span{font-size:10px;color:var(--muted)}.scroll-cue{font-size:11px;display:flex;gap:35px;align-items:center;padding:10px 0}.scroll-cue span{font-size:25px}.work-section{padding:105px var(--pad) 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:35px}.section-heading h2{font-size:clamp(24px,3.1vw,46px);letter-spacing:-.045em;font-weight:500;margin:0}.section-heading h2 span{font-size:10px;letter-spacing:.04em;display:block;margin-top:14px}.work-count{font-size:12px}.filter-bar{border-top:1px solid var(--line);display:flex;gap:7px;padding:20px 0 40px;flex-wrap:wrap}.filter-bar button{padding:12px 18px;border:1px solid transparent;border-radius:30px;font-size:12px;white-space:nowrap}.filter-bar button.selected{background:var(--ink);color:white}.filter-bar button:not(.selected):hover{border-color:var(--line)}.filter-bar sup{font-size:8px;margin-left:12px;color:var(--muted)}.filter-bar .selected sup{color:#bbb}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 25px}.project-card{min-width:0}.project-card.wide{grid-column:1/-1}.project-image{overflow:hidden;position:relative;background:#e9eae5;aspect-ratio:1.4}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1)}.project-card.wide .project-image{aspect-ratio:2.1}.project-card:hover .project-image img{transform:scale(1.035)}.project-open{position:absolute;right:18px;bottom:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-size:23px;transform:translateY(75px);transition:transform .3s}.project-card:hover .project-open{transform:translateY(0)}.project-meta{display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:10px}.project-meta h3{font-size:15px;letter-spacing:-.02em;font-weight:500;margin:0}.project-meta>span{font-size:10px;color:var(--muted);white-space:nowrap}.meta-arrow{font-size:18px;color:var(--ink);margin-left:12px}.project-subtitle{font-size:9px;letter-spacing:.07em;color:var(--muted);margin:8px 0 0}.video-badge{position:absolute;left:20px;bottom:20px;background:#fffdf3e6;border-radius:30px;padding:10px 14px;font-size:11px}.work-end{display:flex;justify-content:space-between;padding:50px 0 25px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.empty-state{padding:70px;text-align:center}.about-section{position:relative;overflow:hidden;padding:120px var(--pad) 150px;display:grid;grid-template-columns:1fr 3fr;gap:30px}.about-label{font-size:10px;display:flex;align-items:baseline;gap:12px;padding-top:15px}.about-copy{max-width:880px;position:relative;z-index:1}.about-copy h2{font-weight:500;font-size:clamp(25px,3vw,43px);line-height:1.6;letter-spacing:-.04em;margin:0 0 30px}.about-copy h2 span,.about-copy p{color:var(--muted)}.about-copy p{max-width:540px;font-size:13px;line-height:2.1;white-space:pre-line}.text-link{display:inline-flex;border-bottom:1px solid var(--ink);padding:12px 0 8px;gap:60px;font-size:12px;margin-top:20px}.about-mark{position:absolute;width:380px;right:-40px;bottom:10px;opacity:.045;transform:rotate(-14deg)}.contact-section{background:var(--accent);padding:65px var(--pad) 35px}.contact-section>p{font-size:12px}.contact-title{display:flex;justify-content:space-between;align-items:center;font-size:clamp(35px,6.5vw,100px);letter-spacing:-.065em;font-weight:500;padding:15px 0 50px}.contact-title span{font-size:1.3em;line-height:1}.contact-bottom{border-top:1px solid #a6c641;padding-top:25px;display:flex;justify-content:space-between;font-size:11px;gap:25px}.contact-bottom>span,.site-footer{font-size:9px}.site-footer{padding:28px var(--pad);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.back-link{font-size:12px}.detail-main{padding:50px var(--pad) 0}.detail-heading{max-width:1400px;margin:auto}.detail-kicker{display:flex;justify-content:space-between;font-size:10px;gap:20px;color:var(--muted)}.detail-heading h1{font-weight:500;font-size:clamp(32px,5.8vw,80px);letter-spacing:-.05em;line-height:1.2;margin:30px 0 40px}.detail-intro{display:grid;grid-template-columns:2fr 1fr;gap:12vw;border-top:1px solid var(--line);padding-top:27px;margin-bottom:60px}.detail-intro>p{font-size:14px;line-height:2;margin:0;white-space:pre-line}.detail-intro dl{display:grid;grid-template-columns:80px 1fr;gap:14px;font-size:11px;margin:0}.detail-intro dt{color:var(--muted)}.detail-intro dd{margin:0}.detail-media{max-width:1440px;margin:auto}.detail-media figure{margin:0}.detail-media figure img{width:100%;height:auto}.detail-media video{width:100%;max-height:80svh;background:#111;display:block}.detail-media figcaption{font-size:12px;color:var(--muted);padding:15px 0 35px;text-align:center}.detail-media .text-block{padding:45px 12%;font-size:16px;line-height:2;white-space:pre-line}.photo-series{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:1200px}.photo-series figure{min-width:0}.photo-series figure img{width:100%;height:auto}.next-project{display:block;margin-top:90px;padding:35px 0 60px;border-top:1px solid var(--line)}.next-project>span{font-size:10px;color:var(--muted)}.next-project>div{display:flex;justify-content:space-between;align-items:center}.next-project h2{font-size:clamp(24px,4vw,60px);font-weight:500;letter-spacing:-.04em}.next-project>div>span{font-size:60px}.not-found{min-height:90svh;padding:20vh 10vw}.pill{display:inline-block;background:var(--ink);color:white;border-radius:30px;padding:14px 22px;font-size:13px}.not-found p{margin-bottom:30px;color:var(--muted)}@media(min-width:1600px){.hero{max-height:1100px}.hero-mask{height:600px}}@media(max-width:760px){:root{--pad:5vw}.site-header{height:80px;padding-top:20px;padding-bottom:20px}.brand{width:83px}.site-header nav{gap:21px}.site-header nav a{font-size:12px}.site-header nav span{display:none}.hero{min-height:calc(88svh - 80px);padding-top:15px}.hero-edition{font-size:7px}.hero-eyebrow{font-size:9px}.hero-portal{min-height:320px;padding:0}.hero-mask{height:250px}.portal-hint{right:1%;bottom:7%;padding:10px 15px;font-size:10px}.hero-bottom{flex-wrap:wrap;gap:30px}.hero-bottom h1{font-size:22px}.hero-bottom h1 span{font-size:8px}.hero-bottom>p{display:none}.scroll-cue{font-size:10px;gap:15px}.work-section{padding-top:65px}.section-heading{padding-bottom:27px}.filter-bar{gap:0;padding:15px 0 25px}.filter-bar button{padding:10px 12px;font-size:11px}.filter-bar sup{margin-left:5px;font-size:7px}.work-grid{grid-template-columns:1fr;gap:35px}.project-card.wide{grid-column:auto}.project-card.wide .project-image{aspect-ratio:1.4}.project-meta h3{font-size:13px}.project-open{transform:none;width:32px;height:32px;font-size:19px;right:12px;bottom:12px}.project-subtitle{font-size:8px}.about-section{grid-template-columns:1fr;padding-top:70px;padding-bottom:80px;gap:30px}.about-copy h2{font-size:27px}.about-copy p{font-size:12px}.about-mark{width:240px}.contact-section{padding-top:40px}.contact-title{padding-bottom:35px;font-size:35px}.contact-bottom{flex-wrap:wrap}.contact-bottom>span{width:100%;font-size:8px}.site-footer{font-size:8px;flex-wrap:wrap}.site-footer>span:nth-child(2){display:none}.detail-main{padding-top:35px}.detail-kicker{font-size:9px}.detail-kicker>span:last-child{max-width:50%;text-align:right}.detail-heading h1{font-size:34px;margin:25px 0 30px}.detail-intro{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.detail-intro>p{font-size:12px}.detail-intro dl{font-size:10px;gap:12px;grid-template-columns:80px 1fr}.photo-series{gap:10px}.next-project{margin-top:50px;padding-bottom:30px}.next-project>div>span{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}.entering .hero-mask{transform:none;opacity:1}}.portfolio-experience{min-height:100svh;background:var(--paper)}.world-dark{--ink:#f1f2ed;--paper:#080a0c;--muted:#909a9f;--line:#2b3034;color:var(--ink);color-scheme:dark}.world-dark .brand img{filter:invert(1)}.world-dark .detail-header{background:var(--paper)}.work-section{max-width:1280px;margin-inline:auto;padding-left:clamp(22px,6vw,96px);padding-right:clamp(22px,6vw,96px)}.work-grid{grid-template-columns:minmax(0,1fr);max-width:1040px;width:100%;margin-inline:auto;gap:64px}.work-grid .project-card{grid-column:auto}.work-grid .project-card.wide .project-image,.work-grid .project-image{aspect-ratio:16/9}@media(max-width:760px){.work-section{padding-inline:5vw}.work-grid{gap:36px}}.entry-layout-controls{border:1px solid #ddd;padding:14px;margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.entry-layout-controls legend{font-size:13px;padding:0 5px}.entry-layout-controls input[type=range]{width:100%;padding:0;accent-color:#222}.entry-layout-controls output{font-size:12px;color:#666}.work-list-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.intro-video-link{max-width:1280px;margin:0 auto;padding:20px clamp(22px,6vw,96px) 75px}.intro-video-link .text-link{margin-top:0}.about-section{min-height:55svh}.intro-video-link{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}.intro-video-link .text-link{gap:0}.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none}.next-project>div>span{display:flex;align-items:center}.detail-header{justify-content:space-between}.detail-header .back-link{margin-right:auto}.detail-header .brand{margin-left:24px}.contact-title>span{display:flex;align-items:center}