*{box-sizing:border-box}body{margin:0;background:#fff;color:#111;font-family:Arial,'Helvetica Neue','PingFang SC',sans-serif}a{color:inherit;text-decoration:none}header{height:110px;padding:40px 6%;display:flex;justify-content:space-between;align-items:center}.brand{font-size:23px;font-weight:750;letter-spacing:-1.2px}nav{display:flex;gap:48px;font-size:12px}nav a{padding:8px 0}nav a:hover,nav a[aria-current]{border-bottom:1px solid}a:focus-visible,button:focus-visible{outline:1px solid #555;outline-offset:6px}.home{min-height:calc(100svh - 110px);display:flex;align-items:center;justify-content:center;padding-bottom:65px}.metal-installation{width:min(960px,100%);aspect-ratio:1.5;position:relative;isolation:isolate}.metal-background,.grid-webgl{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.grid-hit{position:absolute;border:0;background:transparent;padding:0;cursor:pointer}.page{max-width:1160px;margin:72px auto 100px;padding:0 40px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#888;margin-bottom:35px}.about{max-width:850px;margin-top:90px}.about h1{font-size:25px;font-weight:400;margin-bottom:45px}.copy{font-size:17px;line-height:2;text-wrap:pretty}.english{color:#222;font-size:17px;line-height:1.8;margin-top:36px}.contact{margin-top:85px;text-align:right;color:#aaa;font-size:12px}h2{font-size:24px;font-weight:400;margin:0 0 30px}.group+.group{margin-top:90px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{aspect-ratio:1;position:relative;display:block;overflow:hidden;background:#f5f5f5}.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0008;color:#fff;font-size:24px;opacity:0;transition:opacity .25s}.card:hover span,.card:focus-visible span{opacity:1}.card:hover img{transform:scale(1.035)}.back{font-size:12px;color:#888}.detail h1{font-size:clamp(38px,6vw,66px);font-weight:400;letter-spacing:-2px;margin:50px 0 36px}.intro{max-width:820px;margin-bottom:70px}.gallery img{display:block;width:100%;height:auto}.detail{max-width:1280px}.end{display:block;margin-top:65px;text-align:center;font-size:13px}@media(max-width:650px){header{height:90px;padding:28px 7%}.brand{font-size:20px}nav{gap:24px;font-size:11px}.home{min-height:calc(100svh - 90px);padding-bottom:80px}.metal-installation{width:120%;flex-shrink:0}.home{overflow:hidden}.page{padding:0 24px;margin-top:45px}.grid{grid-template-columns:1fr;gap:24px}.card span{opacity:1;inset:auto 0 0;padding:15px;font-size:17px;background:linear-gradient(transparent,#0009);justify-content:flex-start}.copy,.english{font-size:15px}.about h1{font-size:21px}.contact{text-align:left}.detail h1{letter-spacing:-1px}.group+.group{margin-top:60px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* v2: persistent gallery navigation and restrained exhibition typography. */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.detail .intro{max-width:none;width:100%;margin:0 0 80px}
.detail .copy{font-size:14px;line-height:2.05;letter-spacing:.025em;text-wrap:wrap}
.detail .english{font-size:14px;line-height:1.9;color:#888;margin-top:32px;text-wrap:wrap;font-weight:400}
.detail .intro p{margin:0 0 20px}
.detail .intro p:last-child{margin-bottom:0}
.detail h1{margin-bottom:48px}
@media(max-width:650px){.detail .copy,.detail .english{font-size:13px}.detail .intro{margin-bottom:50px}.detail .english{margin-top:28px}.detail h1{margin-bottom:32px}}
/* About: match the quiet exhibition typography of project introductions. */
.about{max-width:1040px;margin-top:86px;margin-bottom:80px}
.about h1{font-size:24px;line-height:1.6;font-weight:400;letter-spacing:.02em;margin:0 0 48px}
.about .copy{font-size:14px;line-height:2.05;letter-spacing:.025em;text-wrap:wrap}
.about .english{font-size:14px;line-height:1.9;color:#888;font-weight:400;margin-top:40px;text-wrap:wrap}
.about .copy p,.about .english p{margin:0 0 20px}
.about .copy p:last-child,.about .english p:last-child{margin-bottom:0}
.about .contact{margin-top:76px;font-size:12px;letter-spacing:.015em;color:#aaa}
@media(max-width:650px){.about{margin-top:48px;margin-bottom:56px}.about h1{font-size:21px;margin-bottom:32px}.about .copy,.about .english{font-size:13px}.about .english{margin-top:30px}.about .contact{margin-top:50px}}
