@font-face{font-family:NotoSC;src:url("fonts/NotoSansSC-VF.ttf") format("truetype");font-weight:100 900;font-display:swap}
:root{--paper:#fff;--ink:#222522;--muted:#666b68;--blue:#0078bf;--line:#e4e6e4;--serif:Baskerville,"Times New Roman",serif;--sans:"Helvetica Neue",NotoSC,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{isolation:isolate;margin:0;background:var(--paper);color:var(--ink);font:300 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:url("assets/riso-white-paper.webp") center/1200px auto;opacity:.18;pointer-events:none}
body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:6px}button{font:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:white;padding:12px}.skip-link:focus{top:12px}
.site-header{display:flex;justify-content:space-between;align-items:center;height:94px}.signature{font:400 24px/1.2 var(--serif)}.header-links{display:flex;align-items:center;gap:32px}.language-link{font-size:13px;font-weight:400;padding:8px 0}nav{display:flex;gap:35px;font-size:14px;font-weight:350}
html:lang(en) .section-heading h2{font-family:var(--serif);font-size:clamp(34px,3.8vw,52px);line-height:1.2;letter-spacing:-.02em;font-weight:400}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(60px,8vw,145px);align-items:center;padding-top:26px;padding-bottom:25px}.hero-poster{width:100%;max-width:min(580px,calc((100svh - 185px)*.7071))}.hero-poster>a{display:block;cursor:zoom-in}.hero-poster img{width:100%;height:auto}.hero-poster figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:17px;color:var(--muted);font-size:12px;letter-spacing:.01em}.hero-poster figcaption a{color:var(--ink);white-space:nowrap}.hero-poster figcaption a span{margin-left:5px}
.work-type{font-size:14px;color:var(--muted);letter-spacing:.1em;margin-bottom:31px}.hero h1{font:400 clamp(60px,7.2vw,106px)/.98 var(--serif);letter-spacing:-.055em;white-space:nowrap}.hero h1 span{display:block;font:300 39px/1.3 var(--sans);letter-spacing:.15em;margin-top:24px}.hero-intro{font-size:21px;line-height:1.85;margin-top:38px;letter-spacing:.03em}.work-credit{display:flex;flex-direction:column;gap:2px;margin-top:63px;font-size:13px;color:var(--muted)}
.section-space{padding-top:clamp(100px,12vw,180px)}.section-label{font:400 21px/1.3 var(--serif);color:var(--blue);margin-bottom:20px}.section-heading h2{font-size:clamp(26px,3.2vw,40px);font-weight:300;line-height:1.5;letter-spacing:.025em}.idea{display:grid;grid-template-columns:.85fr 1fr;gap:100px}.idea-body{max-width:650px;font-size:18px;line-height:2}.idea-body p+p{margin-top:25px}.idea-body .english-note{font:400 21px/1.6 var(--serif);color:var(--muted);margin-top:38px}
.film{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.film .section-description{max-width:430px}.film-player{width:min(100%,480px,calc(78svh * .7077));justify-self:end}.film-player video{display:block;width:100%;height:auto;aspect-ratio:1080/1526;object-fit:contain}.film-player figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:17px;font-size:12px;color:var(--muted)}
.detail-images{display:grid;grid-template-columns:1.1fr 1fr;gap:58px;margin-top:48px}.detail-images figure:nth-child(2){padding-top:100px}.detail-crop{height:430px;overflow:hidden}.detail-crop img{width:100%;height:100%;object-fit:cover}.city-crop img{object-position:50% 36%;transform:scale(1.26)}.pulse-crop img{object-position:51% 89%;transform:scale(1.32)}.detail-images figcaption{padding-top:24px;max-width:490px}.detail-images h3{font-weight:350;font-size:20px;margin-bottom:11px}.detail-images p{font-size:15px;line-height:1.95;color:var(--muted)}
.section-description{max-width:600px;font-size:16px;line-height:1.9;color:var(--muted);margin-top:23px}.process-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:48px}.process-strip img{width:100%;aspect-ratio:3508/4961;object-fit:cover}.process-strip figcaption{font-size:15px;line-height:1.5;margin-top:19px}.process-strip figcaption span{display:block;font:400 18px/1.5 var(--serif);color:var(--muted);margin-top:3px}
.site-footer{margin-top:135px;padding-top:38px;padding-bottom:55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:35px;font-size:13px;line-height:1.9;color:var(--muted)}.footer-name{font:400 23px/1.5 var(--serif);color:var(--ink);margin-bottom:12px}.school-logo{width:270px;height:auto}
dialog{width:min(1080px,calc(100vw - 32px));max-height:94dvh;padding:0;border:0;background:#fff;color:var(--ink);overflow:auto}dialog::backdrop{background:rgba(24,27,25,.78)}.dialog-tools{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:20px;background:rgba(255,255,255,.97);padding:15px 24px;font-size:14px}.close-dialog{border:0;background:none;cursor:pointer;padding:8px 0 8px 20px;color:var(--ink)}.close-dialog span{font-size:26px;line-height:1;vertical-align:-2px;margin-left:12px}.dialog-image{padding:0 24px 24px}.dialog-image img{width:100%;height:auto}
@media(min-width:1550px){.hero-poster{max-width:min(610px,calc((100svh - 205px)*.7071))}.hero{padding-top:40px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:1fr .85fr;gap:50px}.hero h1{font-size:65px}.hero h1 span{font-size:32px}.hero-intro{font-size:18px}.work-credit{margin-top:35px}.idea{gap:55px}.film{gap:55px}.detail-images{gap:32px}.detail-crop{height:350px}.process-strip{gap:18px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{height:auto;min-height:103px;flex-wrap:wrap;gap:13px;padding-top:20px;padding-bottom:12px}.header-links{display:contents}.language-link{order:2}nav{order:3;width:100%;justify-content:space-between}.signature{font-size:22px}nav{gap:12px;font-size:11px}.hero{display:flex;flex-direction:column;gap:43px;padding-top:15px;align-items:stretch}.hero-copy{order:-1;padding:25px 0 0}.work-type{margin-bottom:21px;font-size:12px}.hero h1{font-size:clamp(65px,15vw,102px)}.hero h1 span{font-size:31px;margin-top:17px}.hero-intro{margin-top:25px;font-size:18px}.hero-intro br{display:none}html:lang(en) .hero-intro br{display:inline}.work-credit{margin-top:24px;flex-direction:row;gap:14px;font-size:12px}.hero-poster{max-width:none}.hero-poster figcaption{font-size:11px;margin-top:13px}.section-space{padding-top:88px}.section-label{font-size:20px;margin-bottom:17px}.section-heading h2{font-size:27px;line-height:1.6}.idea{display:block}.idea-body{margin-top:30px;font-size:16px;line-height:1.95}.idea-body .english-note{font-size:20px;line-height:1.55;margin-top:27px}.film{display:block}.film-player{width:100%;max-width:480px;margin:30px auto 0}.detail-images{display:block;margin-top:32px}.detail-images figure:nth-child(2){padding-top:45px}.detail-crop{height:360px}.detail-images figcaption{padding-top:19px}.detail-images h3{font-size:19px}.detail-images p{font-size:14px}.section-description{font-size:14px;margin-top:17px}.process-strip{display:flex;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;padding-bottom:16px;margin-top:30px}.process-strip figure{flex:0 0 68%;scroll-snap-align:start}.site-footer{margin-top:75px;padding-top:30px;padding-bottom:35px;align-items:flex-start;flex-direction:column;gap:28px}.school-logo{width:238px}.dialog-tools{padding:10px 16px}.dialog-image{padding:0 12px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
