:root{--ink:#151515;--mute:#666660;--line:#deded8;--warm:#f7f6f2;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1440px;margin:auto;padding:0 48px;height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:28px;height:28px;flex:none}.brand-cn{display:block;font-size:.96rem;letter-spacing:.14em;line-height:1.2}.brand-en{display:block;font-size:.63rem;letter-spacing:.16em;color:#777;margin-top:4px}
nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);height:100%;font-size:.88rem;letter-spacing:.08em;color:#555}
nav>a,nav>.nav-item>button{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.12;height:100%;background:none;border:0;padding:0;color:inherit;transition:color .25s}nav>a:hover,nav>.nav-item>button:hover{color:#111}.nav-cn{display:block;white-space:nowrap}.nav-en{display:block;margin-top:6px;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:#888;white-space:nowrap}
.nav-item{height:100%;display:flex;align-items:center}.nav-panel{position:absolute;top:100%;left:0;width:100%;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 25px 42px rgba(0,0,0,.045);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .32s var(--ease),transform .32s var(--ease),visibility .32s;pointer-events:none}
.nav-item:hover .nav-panel,.nav-item:focus-within .nav-panel,.nav-item.open .nav-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav-panel-inner{max-width:1440px;margin:auto;padding:32px 48px 38px;display:grid;grid-template-columns:180px 1fr;gap:50px}.nav-panel-label{font-size:.73rem;letter-spacing:.19em;color:#777}.nav-panel-links{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.nav-panel-links a{font-size:.94rem;transition:transform .3s var(--ease)}.nav-panel-links a:hover{transform:translateX(4px)}.nav-panel-links small{display:block;font-size:.7rem;color:#888;margin-top:3px}
.mobile-menu{display:none;border:0;background:none;padding:10px;font-size:1.4rem}.mobile-links{display:none}
.back{max-width:1440px;margin:0 auto;padding:30px 48px 0;display:block;color:var(--mute);font-size:.81rem;letter-spacing:.1em}.back:hover{color:var(--ink)}
.intro{max-width:1440px;margin:0 auto;padding:clamp(72px,9vw,138px) 48px clamp(70px,8vw,120px);display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(70px,12vw,170px);align-items:end}
.eyebrow{font-size:.75rem;letter-spacing:.3em;color:var(--mute);text-transform:uppercase}.intro h1{font-weight:400;font-size:clamp(4.5rem,8.3vw,9rem);letter-spacing:.09em;line-height:1.18;margin:24px 0 20px}.intro .roman{font-size:.9rem;letter-spacing:.32em;text-transform:uppercase;color:var(--mute)}
.intro-right{padding-bottom:7px}.intro-right p{font-size:clamp(1.1rem,1.8vw,1.48rem);letter-spacing:.035em;line-height:1.9;margin:0 0 42px;max-width:540px}.intro .follow{font-size:.83rem;letter-spacing:.07em;color:var(--mute);margin-bottom:22px}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:white;padding:15px 22px;font-size:.82rem;letter-spacing:.1em;transition:transform .35s var(--ease),background .35s}.cta:hover{background:#414141;transform:translateY(-2px)}.cta span{font-size:1.25rem;line-height:1}
.feature{height:min(72vw,740px);min-height:440px;position:relative;overflow:hidden;background:#edebe6;display:flex;align-items:center;justify-content:center}.feature img{width:auto;max-width:min(75vw,600px);height:100%;object-fit:contain;transition:transform 1.4s var(--ease)}.feature:hover img{transform:scale(1.02)}.feature-label{position:absolute;bottom:45px;left:max(48px,calc((100vw - 1344px)/2));z-index:1;color:#565650;font-size:.75rem;letter-spacing:.24em}
.editorial{max-width:1440px;padding:clamp(80px,10vw,150px) 48px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.editorial h2{font-weight:400;font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.42;letter-spacing:.07em;margin:22px 0 0}.editorial p{max-width:520px;margin:28px 0 0;color:#575752;line-height:2;font-size:1rem}
.covers{padding:clamp(84px,9vw,140px) max(48px,calc((100vw - 1344px)/2));background:var(--warm)}.covers-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:45px}.covers h2{font-weight:400;font-size:clamp(2.1rem,3.7vw,3.7rem);letter-spacing:.08em;margin:12px 0 0}.covers-head p{font-size:.9rem;color:var(--mute);margin:0;max-width:345px}.cover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.cover-card{display:block;min-width:0}.cover-image{aspect-ratio:3/4;overflow:hidden;background:#e8e6e0}.cover-image img{height:100%;object-fit:cover;transition:transform .85s var(--ease)}.cover-card:hover img{transform:scale(1.035)}.cover-name{display:flex;justify-content:space-between;align-items:start;gap:12px;padding-top:16px;font-size:.89rem;letter-spacing:.05em}.cover-name span:last-child{color:#777}.cover-hint{font-size:.73rem;color:var(--mute);padding-top:7px}
.next{padding:clamp(74px,9vw,130px) 48px;text-align:center}.next-label{font-size:.76rem;color:var(--mute);letter-spacing:.24em}.next h2{font-weight:400;font-size:clamp(2.7rem,5vw,5rem);margin:14px 0 26px;letter-spacing:.12em}.next a{border-bottom:1px solid var(--ink);padding-bottom:8px;letter-spacing:.12em;font-size:.88rem}
footer{border-top:1px solid var(--line);max-width:1440px;margin:auto;padding:35px 48px 50px;display:flex;justify-content:space-between;color:var(--mute);font-size:.78rem}
.ink-ripples{display:none;position:fixed;inset:0;width:100%;height:100%;z-index:100;pointer-events:none}@media(hover:hover) and (pointer:fine){.ink-ripples{display:block}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1024px){.intro{gap:6vw}.cover-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.header-inner{padding:0 24px;height:68px}nav{display:none}.mobile-menu{display:block}.mobile-links.open{display:flex;position:absolute;left:0;top:100%;width:100%;background:#fff;flex-direction:column;gap:0;padding:12px 24px 25px;box-shadow:0 24px 35px rgba(0,0,0,.07)}.mobile-links a{font-size:.9rem;padding:10px 0;border-bottom:1px solid var(--line)}.back{padding:28px 24px 0}.intro{display:block;padding:72px 24px 85px}.intro h1{font-size:clamp(4.4rem,18vw,7rem);margin:19px 0 15px}.intro-right{margin-top:42px}.intro-right p{font-size:1.06rem;margin-bottom:24px}.feature{height:110vw;min-height:400px}.feature img{max-width:80vw}.feature-label{display:none}.editorial{display:block;padding:85px 24px}.editorial p{margin-top:25px}.covers{padding:85px 24px}.covers-head{display:block}.covers-head p{margin-top:18px}.cover-grid{gap:24px 12px}.cover-name{font-size:.8rem}.next{padding:82px 24px}footer{padding:30px 24px;display:block}footer span{display:block;margin-top:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.ink-ripples{display:none}}
/* Shared type scale across the gallery and its two brands. */
.nav-en{font-size:.625rem;letter-spacing:.11em}.intro h1{font-size:clamp(3.5rem,6.2vw,6.5rem);letter-spacing:.07em}.intro-right p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:2}.editorial h2,.covers h2{font-size:clamp(1.85rem,2.6vw,2.65rem);line-height:1.6}.editorial p{font-size:.95rem;line-height:2.05}.cover-image img{object-fit:contain}.cover-hint{font-size:.75rem}.covers-head p{line-height:1.95}
@media(max-width:900px){nav{display:none}.mobile-menu{display:block}.mobile-links.open{display:flex;position:absolute;left:0;top:100%;width:100%;background:#fff;flex-direction:column;padding:12px 24px 25px}.mobile-links a{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}}
@media(max-width:768px){.intro h1{font-size:clamp(3.25rem,14vw,5rem)}.editorial h2,.covers h2{font-size:1.85rem}.intro{padding-top:56px}.feature{min-height:320px}.cover-image{background:#eeede7}}
