/* Shared optical grid, applied last across all routes. */
:root{--content-max:1280px;--gutter:clamp(24px,5vw,80px);--page-edge:max(var(--gutter),calc((100vw - var(--content-max))/2));--section-gap:clamp(56px,6vw,88px);--column-gap:clamp(32px,4.5vw,64px)}
body header,.inner-page header{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:26px var(--page-edge);gap:24px}
header .brand{display:inline-flex;align-items:center;gap:7px;line-height:1;text-decoration:none;flex-shrink:0}header .brand .electric-static{display:block;flex:none}header .top-nav{display:flex;align-items:center;gap:26px;margin:0;justify-content:flex-end}header .journal{margin:0;line-height:1.4;padding:10px 0}header .menu-trigger{display:inline-flex;align-items:center;gap:10px;line-height:1.4;padding:10px 0}header .menu-trigger span{margin:0}
.inner-page main{width:calc(100% - 2 * var(--page-edge));max-width:var(--content-max);margin-inline:auto}
.watch-type-preview .hero #name{left:var(--page-edge)}.watch-type-preview .intro,.work-link{left:var(--page-edge)}.watch-type-preview .hero-note{right:var(--page-edge)}
.project-index{padding:var(--section-gap) var(--page-edge)}.work-intro{align-items:end;gap:var(--column-gap);margin-bottom:64px}.work-intro>p{margin:0}.project-rows .project-row{margin:0;padding:36px 0;grid-template-columns:minmax(0,1fr) 230px 58px;gap:32px}.project-row h3{margin:0 0 10px;line-height:1.1}.project-row p{line-height:1.5}.row-stage{align-self:center}.row-arrow{justify-self:end}.project-rows .project-row:hover,.project-rows .project-row:focus-visible{padding-left:0}.project-row:hover h3{color:var(--copper)}
.compact-beyond{padding:0 var(--page-edge) var(--section-gap)}.beyond-entry{padding:36px 0;grid-template-columns:minmax(0,1fr) auto 58px;gap:32px}.beyond-entry:hover{padding-left:0}.beyond-entry .beyond-arrow{justify-self:end}.beyond-entry h2{margin:0}
body footer,.inner-page footer{display:block;width:100%;margin:0;padding:64px var(--page-edge) 38px}footer .footer-invite{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0;line-height:1.1}footer .footer-invite>span{display:flex;align-items:center;justify-content:center;width:58px;flex-shrink:0}footer .footer-invite .electric-static{width:22px;height:32px}footer .footer-links,.inner-page footer .footer-links{display:flex;align-items:center;justify-content:flex-start;gap:28px;margin:48px 0 0;text-align:left;flex-wrap:wrap}footer .footer-links>span{margin-right:auto}footer .footer-links a{line-height:1.5}
.inner-page .page-heading,.inner-page .case-top{padding:72px 0 56px}.inner-page .page-heading h1,.inner-page .case-top h1{margin:0}.inner-page .case-deck{margin:24px 0 0}.inner-page .back{margin:0 0 28px}.inner-page .case-meta{display:grid;grid-template-columns:168px minmax(0,1fr);gap:var(--column-gap);max-width:none;margin:36px 0 0}.case-meta p{margin:0!important}.case-meta span{line-height:1.5}
.inner-page .case-cover{width:100%;max-width:none;margin:0 0 var(--section-gap)}.case-cover>img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}.case-cover>.art{width:100%;max-height:680px}.case-cover figcaption{margin:14px 0 0}
.inner-page .case-body{display:grid;grid-template-columns:168px minmax(0,1fr);gap:var(--column-gap);justify-content:stretch;margin-bottom:32px}.inner-page .narrative{min-width:0}.inner-page .narrative section{margin:0 0 60px}.inner-page .narrative h2{margin:0 0 22px;line-height:1.15}.inner-page .narrative p{max-width:68ch}.inner-page .narrative figure{margin:30px 0 0;padding:0;background:none}.inner-page .narrative figure .art{max-height:none}.inner-page .narrative figcaption{margin:14px 0 0;max-width:68ch}.inner-page .narrative .reflection{padding:28px 0;background:none}.inner-page .next-project{max-width:none;margin:0;padding:32px 0 72px}.inner-page .next-project h2{margin:0}
.inner-page .contents{gap:16px;margin:0;align-items:flex-start}.inner-page .exploded-story{margin:0 0 var(--section-gap)}.exploded-sticky{gap:var(--column-gap)}.exploded-copy h2{margin:0 0 24px}.exploded-copy .layer-legend{line-height:1.5}.model-status{line-height:1.4}
.inner-page .about-layout{grid-template-columns:320px minmax(0,1fr);gap:var(--column-gap);justify-content:stretch;margin-bottom:var(--section-gap)}.inner-page .about-layout .letter{width:100%;max-width:720px;margin:0}.inner-page .portrait-aside .portrait{padding:0;margin:0;max-width:none}.inner-page .portrait-aside figcaption{margin:14px 0 0}.letter .personal-interests{margin:40px 0}.letter .personal-interests h2{margin:0 0 20px}.letter .text-link{margin-top:24px}
.collection-entry{grid-template-columns:320px minmax(0,1fr) 58px;gap:var(--column-gap);padding:36px 0}.collection-entry>span{justify-self:end}.collection-entry h2{margin:0 0 16px!important}.collection-entry p{margin:0!important}.collection-media{height:220px}
.photo-filters{margin:0 0 48px;gap:12px}.photo-filters button{line-height:1.4;min-height:42px}.series-heading{margin:0 0 28px;align-items:baseline}.series-heading h2{margin:0}.curated-grid{gap:48px var(--column-gap)}.photo-series{margin-bottom:var(--section-gap)}.photo-grid{column-gap:var(--column-gap)}.photo-grid figure,.photo-grid figure:nth-child(3n){padding:0;margin-bottom:36px}.film>h2,.photo-section>h2{margin:0 0 20px}.film>p{margin:0 0 26px}.film-stills{gap:32px var(--column-gap)}.film-stills figure{margin:0}.film-stills figcaption{margin:12px 0 0}.other-evidence>p{margin:24px 0 36px}.experience-note h3{margin:0 0 18px}.experience-note p{margin:0}.contact-complete>h2{margin:0 0 24px}.contact-complete>p{margin:28px 0 0}
@media(max-width:1000px){.inner-page .about-layout{grid-template-columns:240px minmax(0,1fr)}.collection-entry{grid-template-columns:230px minmax(0,1fr) 35px}.project-rows .project-row{grid-template-columns:minmax(0,1fr) 165px 45px;gap:24px}.beyond-entry{grid-template-columns:minmax(0,1fr) auto 45px;gap:24px}}
@media(max-width:650px){body header,.inner-page header{padding:22px var(--page-edge);gap:14px}header .top-nav{gap:18px}header .journal{font-size:12px}header .menu-trigger{font-size:12px;gap:6px}.watch-type-preview .hero #name{left:var(--page-edge)}.watch-type-preview .intro{left:var(--page-edge)}.watch-type-preview .hero-note{right:var(--page-edge)}.work-link{left:auto;right:var(--page-edge)}.watch-type-preview .name-english{width:calc(100vw - 2 * var(--page-edge))}.watch-type-preview .name-chinese.name-pinyin{width:calc((100vw - 2 * var(--page-edge)) * .90)}
.work-intro{display:block;margin-bottom:40px}.work-intro>p{margin:22px 0 0}.project-rows .project-row{grid-template-columns:minmax(0,1fr) 40px;gap:12px;padding:28px 0}.project-row h3{font-size:30px}.project-row p{font-size:13px}.row-stage{grid-column:1;grid-row:2;margin:0}.row-arrow{grid-column:2;grid-row:1/3;width:40px;height:40px}.beyond-entry{grid-template-columns:minmax(0,1fr) 40px;gap:14px;padding:28px 0}.beyond-entry h2{font-size:29px}.beyond-entry>span:not(.beyond-arrow){grid-row:2;grid-column:1}.beyond-entry .beyond-arrow{grid-row:1/3;grid-column:2}
body footer,.inner-page footer{padding:44px var(--page-edge) 30px}footer .footer-invite{gap:15px}footer .footer-invite>span{width:40px}footer .footer-links,.inner-page footer .footer-links{gap:18px 24px;margin-top:36px}footer .footer-links>span{width:100%;margin:0}
.inner-page .page-heading,.inner-page .case-top{padding:48px 0 40px}.inner-page .case-meta{display:block;margin-top:28px}.case-meta p+p{margin-top:22px!important}.inner-page .case-body{display:block}.inner-page .contents{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 22px;margin:0 0 36px}.inner-page .narrative section{margin-bottom:44px}.inner-page .narrative figure{margin-top:24px}.inner-page .narrative .reflection{padding:18px 0}.inner-page .next-project{padding:20px 0 54px}.exploded-sticky{gap:24px}.inner-page .about-layout{display:block}.inner-page .portrait-aside{max-width:260px;margin:0 0 36px}.inner-page .about-layout .letter{max-width:none}
.collection-entry{grid-template-columns:minmax(0,1fr) 40px;gap:22px;padding:28px 0}.collection-media{grid-column:1/-1;height:220px}.collection-entry>span{grid-column:2}.curated-grid{gap:32px}.photo-filters{gap:8px;margin-bottom:38px}.series-heading{margin-bottom:24px}.film-stills{gap:28px}.contact-email{display:inline;line-height:1.4}.contact-email span{margin-left:8px}}
