:root{--bg:#fff;--paper:#fff;--ink:#2c2822;--muted:#6e6559;--faint:#a3988a;--line:#2c282221;--line-strong:#2c28224d;--clay:#b5745a;--moss:#7d8263;--sand:#cbb28d;--serif:"Songti SC", "Noto Serif SC", "Source Han Serif SC", "STSong", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Segoe UI,Noto Sans SC,sans-serif;line-height:1.7}a{color:var(--ink);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}a:focus-visible{outline:2px solid var(--clay);outline-offset:2px;border-radius:6px}img{max-width:100%}::selection{background:#b5745a40}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}section[id],footer[id]{scroll-margin-top:84px}.progress{z-index:60;background:linear-gradient(90deg, var(--clay), var(--moss));transform-origin:0;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.2)blur(12px);border-bottom:1px solid var(--line);background:#ffffffd1;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.brand{letter-spacing:.06em;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--ink);width:28px;height:28px;color:var(--paper);font-size:14px;font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.site-nav{align-items:center;gap:4px;font-size:14px;display:flex}.site-nav>a{color:var(--muted);border-radius:8px;padding:8px 12px;display:inline-block}.site-nav>a:hover{color:var(--ink);background:#2c28220f;text-decoration:none}.site-nav>a.lang-switch{border:1px solid var(--line-strong);margin-left:6px;padding:5px 12px}.site-nav>a.lang-switch:hover{border-color:var(--muted);background:0 0}.hero{text-align:center;place-items:center;min-height:min(100svh,880px);padding:120px 0;display:grid;position:relative;overflow:hidden}.enso{pointer-events:none;color:#2c28222b;width:min(78vw,620px);position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}.enso path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}.hero>.wrap{z-index:1;position:relative}.overline{letter-spacing:.42em;color:var(--muted);margin:0 0 34px;padding-left:.42em;font-size:12px}.hero h1{font-family:var(--serif);letter-spacing:.02em;text-wrap:balance;margin:0;font-size:clamp(46px,9.5vw,112px);font-weight:500;line-height:1.12}.accent{color:var(--clay)}.scroll-cue{background:linear-gradient(180deg, var(--faint), transparent);width:1px;height:62px;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.work{padding:clamp(64px,9vh,112px) 0 clamp(84px,13vh,150px);position:relative;overflow:hidden}.work-canvas{pointer-events:none;position:absolute;inset:0}.work>.wrap{position:relative}.field{filter:blur(30px);border-radius:62% 38% 55% 45%/48% 58% 42% 52%;position:absolute}.field-1{background:radial-gradient(closest-side,#b5745a52,#b5745a00 74%);width:46vw;height:34vw;top:-12%;left:-8vw}.field-2{background:radial-gradient(closest-side,#7d82635c,#7d826300 74%);border-radius:45% 55% 48% 52%/58% 44% 56% 42%;width:44vw;height:32vw;top:24%;right:-10vw}.field-3{background:radial-gradient(closest-side,#cbb28d7a,#cbb28d00 74%);border-radius:55% 45% 62% 38%/42% 60% 40% 58%;width:54vw;height:38vw;bottom:-20%;left:20%}.section-label{letter-spacing:.34em;color:var(--muted);margin:0 0 clamp(26px,4.5vh,46px);font-size:12px;font-weight:500}.work-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.work-list li{border-bottom:1px solid var(--line)}.work-list a{grid-template-columns:1fr auto;align-items:center;gap:clamp(16px,3vw,30px);padding:clamp(20px,3.2vh,32px) 2px;display:grid}.work-list a:hover{text-decoration:none}.work-name{font-family:var(--serif);letter-spacing:.02em;font-size:clamp(21px,2.8vw,28px);line-height:1.25;transition:color .18s;display:block}.work-list a:hover .work-name{color:var(--clay)}.work-sub{color:var(--muted);letter-spacing:.04em;margin-top:3px;font-size:13.5px;display:block}.work-arrow{color:var(--faint);letter-spacing:.1em;white-space:nowrap;font-size:13px;transition:color .18s}.work-list a:hover .work-arrow{color:var(--ink)}.closing{padding:clamp(80px,11vh,130px) 0 clamp(70px,10vh,110px)}.closing h2{font-family:var(--serif);letter-spacing:.02em;margin:0 0 26px;font-size:clamp(40px,7vw,84px);font-weight:500;line-height:1.1}.closing h2.art-title{font-family:"Kaiti SC", "STKaiti", "KaiTi", "楷体", "Noto Serif SC", var(--serif);letter-spacing:.16em;margin:0 0 12px;padding-left:.16em;font-size:clamp(22px,2.8vw,27px);line-height:1.35}@supports ((-webkit-background-clip:text)){.closing h2.art-title{background:linear-gradient(108deg, var(--ink) 30%, var(--clay) 92%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}}.closing-note{color:var(--muted);max-width:30em;margin:0;font-size:13px;line-height:1.9}.closing-note+.closing-note{margin-top:.85em}.foot{border-top:1px solid var(--line)}.foot-inner{grid-template-columns:1.2fr 1fr 1fr;gap:28px;padding:44px 0 32px;display:grid}.foot p{color:var(--muted);margin:0 0 6px;font-size:13.5px}.foot a{color:var(--muted)}.foot a:hover{color:var(--ink)}.foot h4,.foot .foot-talk{color:var(--ink);margin:0 0 10px;font-size:14px;font-weight:600}.foot .foot-mail{font-family:var(--serif);color:var(--ink);border-bottom:1px solid var(--line-strong);padding-bottom:5px;font-size:clamp(17px,2.6vw,24px)}.foot .foot-mail:hover{color:var(--clay);border-color:var(--clay);text-decoration:none}.foot-legal{border-top:1px solid var(--line);color:var(--faint);flex-wrap:wrap;gap:8px 16px;padding:16px 0 22px;font-size:12.5px;display:flex}.foot-legal a{color:var(--faint)}.foot-legal a:hover{color:var(--muted)}@supports (animation-timeline:scroll()){.progress{animation:linear both progress;animation-timeline:scroll(root)}@keyframes progress{to{transform:scaleX(1)}}.hero>.wrap{animation:linear both hero-lift;animation-timeline:scroll(root);animation-range:0 80vh}@keyframes hero-lift{to{opacity:.35;transform:translateY(-30px)}}.enso{animation:linear both enso-drift;animation-timeline:scroll(root);animation-range:0 130vh}@keyframes enso-drift{to{transform:translate(-50%,-54%)rotate(8deg)scale(1.05)}}.scroll-cue{animation:linear both cue-fade;animation-timeline:scroll(root);animation-range:0 28vh}@keyframes cue-fade{to{opacity:0}}}@supports (animation-timeline:view()){.field{animation:linear both flow;animation-timeline:view();animation-range:cover}.field-1{--from:5%;--to:-5%}.field-2{--from:8%;--to:-8%}.field-3{--from:4%;--to:-4%}@keyframes flow{0%{transform:translateY(var(--from,0))}to{transform:translateY(var(--to,0))}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress,.hero>.wrap,.enso,.scroll-cue,.field{animation:none!important}}@media (max-width:720px){.hero{padding:96px 0}.work{padding:64px 0 88px}.field-1{width:92vw;height:58vw;top:-8%;left:-18vw}.field-2{width:84vw;height:54vw;top:28%;right:-20vw}.field-3{width:100vw;height:62vw;bottom:-14%;left:8%}}@media (max-width:640px){.foot-inner{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}.work-arrow{display:none}}
