:root{--paper:#f5f2eb;--ink:#302e28;--muted:#79766c;--line:#d9d5ca;--accent:#7d805b;--serif:"Songti SC","STSong","Noto Serif SC",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #859154;outline-offset:5px}.shell{max-width:1480px;margin:auto;padding:0 5.5vw}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:500;text-transform:uppercase}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:4;border-bottom:1px solid var(--line);background:var(--paper)}.logo{display:flex;align-items:center;gap:14px}.logo-mark{width:27px;height:27px;border:1px solid currentColor;transform:rotate(45deg);display:flex;align-items:center;justify-content:center}.logo-mark::after{content:"";width:11px;height:11px;border:1px solid currentColor;border-radius:50%}.logo-title{font:24px/1 var(--serif);letter-spacing:.12em}.logo-sub{font-size:8px;letter-spacing:.21em;color:var(--muted);margin-top:6px}.nav{display:flex;align-items:center;gap:32px;font-size:12px}.nav-contact{border-bottom:1px solid var(--ink);padding:6px 0}.preview-badge{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:4px 11px}.hero{position:relative;min-height:660px;height:calc(100svh - 88px);max-height:900px;display:grid;grid-template-columns:40% 60%;overflow:hidden}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:55px 0 90px 5.5vw;pointer-events:none}.hero-copy h1{font:clamp(44px,5.1vw,80px)/1.5 var(--serif);letter-spacing:.07em;font-weight:400;margin:27px -50px 20px 0;white-space:nowrap}.hero-copy .intro{font-size:13px;line-height:2;color:var(--muted);max-width:245px}.hero-copy .text-link{pointer-events:auto;margin-top:28px;align-self:start}.text-link{border:0;border-bottom:1px solid currentColor;background:none;display:inline-flex;align-items:center;gap:35px;padding:9px 0;font-size:12px}.text-link .arrow{font-size:19px;line-height:1}.hero-visual{position:relative;overflow:hidden}.hero-visual img{object-position:42% center;transform:scale(1.035);will-change:transform}.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,242,235,.12),transparent 35%);pointer-events:none}.hero-caption{position:absolute;bottom:34px;right:38px;z-index:1;color:white;text-shadow:0 1px 8px #0009;font-size:10px;letter-spacing:.13em}.scroll-cue{position:absolute;bottom:34px;left:5.5vw;display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.2em}.scroll-cue::before{content:"";width:1px;height:36px;background:#8c8a78}.section-top{display:flex;justify-content:space-between;gap:50px;align-items:end;padding:100px 0 38px}.section-top h2{font:40px/1.5 var(--serif);font-weight:400;margin:15px 0 0;letter-spacing:.08em}.section-top p{font-size:12px;color:var(--muted);max-width:310px;margin:0 0 7px;line-height:2}.filter{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px;margin-bottom:35px}.filter button{border:0;border-bottom:1px solid transparent;background:none;padding:0 0 6px;color:var(--muted);font-size:12px}.filter button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.collections{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;min-height:600px}.collection:nth-child(2){margin-top:75px}.collection:nth-child(3){margin-top:35px}.collection-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:#e0ded4}.collection-image img{transition:transform .8s cubic-bezier(.2,.65,.2,1),filter .7s}.collection:hover img{transform:scale(1.055);filter:brightness(.89)}.collection .round-arrow{position:absolute;bottom:20px;right:20px;width:42px;height:42px;border:1px solid #fff9;color:white;border-radius:50%;display:grid;place-items:center;font-size:22px;backdrop-filter:blur(8px);background:#ffffff12}.card-heading{display:flex;align-items:baseline;justify-content:space-between;margin-top:20px;gap:12px}.card-heading h3{font:25px/1.6 var(--serif);font-weight:400;margin:0}.card-heading small{font-size:10px;color:var(--muted)}.card-sub{font-size:10px;color:var(--muted);letter-spacing:.06em;margin-top:3px}.collection[hidden]{display:none}.collections.filtered{grid-template-columns:minmax(260px,500px);min-height:0}.collections.filtered .collection{margin-top:0}.story{margin-top:110px;position:relative;height:680px;overflow:hidden;background:#252c27}.story img{opacity:.7;object-position:center 53%}.story::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#121a1dc2,transparent 70%)}.story-copy{position:absolute;left:8%;bottom:15%;z-index:1;color:#fff}.story-copy h2{font:46px/1.65 var(--serif);font-weight:400;margin:25px 0;letter-spacing:.1em}.story-copy p{font-size:12px;color:#fffd;max-width:320px;line-height:2}.story-copy .text-link{color:#fff}.contact-section{padding:110px 0 70px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;border-bottom:1px solid var(--line)}.contact-section h2{font:48px/1.5 var(--serif);font-weight:400;letter-spacing:.08em;margin:20px 0}.contact-section p{font-size:12px;color:var(--muted);max-width:370px;line-height:2}.contact-right{padding-top:33px}.contact-step{display:grid;grid-template-columns:30px 1fr;gap:10px;border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.contact-step span:first-child{color:var(--muted);font-size:10px}footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding:28px 0 35px}.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);padding:15px 22px;font-size:12px;margin-top:15px}.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid var(--line);background:transparent;padding:12px 18px;font-size:12px}.album-topbar{display:flex;justify-content:space-between;align-items:center;padding:35px 0;font-size:11px;color:var(--muted)}.album-title{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;padding:40px 0 60px}.album-title h1{font:clamp(34px,4.8vw,68px)/1.55 var(--serif);font-weight:400;letter-spacing:.06em;margin:18px 0 10px}.album-title .album-en{font:italic 18px Georgia,serif;color:var(--muted)}.album-title p{font-size:13px;line-height:2;color:var(--muted);margin:0 0 20px}.album-hero{width:100%;height:auto;max-height:90vh;object-fit:contain;background:#e8e4db}.album-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:18px 0 50px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px;align-items:start}.photo-item{padding:0;border:0;background:none;text-align:left;min-width:0}.photo-item:nth-child(even){margin-top:110px}.photo-item img{height:auto;max-height:900px;object-fit:contain;background:#e8e4db}.photo-item small{font-size:10px;color:var(--muted);display:block;padding-top:12px}.session-info{margin-top:85px;background:#eae8dd;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.session-info h2{font:28px var(--serif);font-weight:400;margin:12px 0 20px}.session-info p{font-size:12px;color:var(--muted);line-height:2}.session-info .price{font:27px var(--serif);color:var(--ink)}.next-album{display:flex;justify-content:space-between;align-items:center;padding:50px 0;border-bottom:1px solid var(--line);font:26px var(--serif)}.next-album small{display:block;font:10px system-ui;color:var(--muted);margin-bottom:15px}.back-top{font-size:11px;font-family:system-ui}dialog{border:0;padding:0;color:var(--ink);max-width:92vw;background:var(--paper)}dialog::backdrop{background:#111e}#lightbox{width:auto;background:#151713;color:#fff;overflow:visible;max-height:96svh}#lightbox img{width:auto;max-width:90vw;height:auto;max-height:81svh;object-fit:contain}#lightbox .lb-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;gap:20px;font-size:11px}#lightbox button{border:0;background:transparent;color:#fff;font-size:13px;padding:8px 12px}#contact-dialog{width:480px;padding:35px;line-height:1.8}#contact-dialog h2{font:30px var(--serif);font-weight:400;margin:15px 0}#contact-dialog p{font-size:13px;color:var(--muted)}#contact-dialog .tools{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-top:25px}#contact-dialog textarea{width:100%;height:90px;border:1px solid var(--line);background:#fff9;padding:12px;font:13px/1.7 system-ui;color:var(--ink)}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}.motion-ready .reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}@media(min-width:1600px){.shell{padding-left:80px;padding-right:80px}.hero-copy{padding-left:max(80px,calc((100vw - 1320px)/2))}}@media(max-width:900px){.nav{gap:20px}.hero{grid-template-columns:43% 57%;min-height:570px}.hero-copy h1{font-size:45px}.hero-copy .intro{font-size:12px;max-width:200px}.collections{gap:18px}.card-heading h3{font-size:21px}.section-top{gap:35px}.story{height:570px}.album-title{gap:35px}.photo-grid{gap:30px 22px}.session-info{padding:30px}}@media(max-width:620px){.shell{padding:0 6vw}.site-header{height:74px}.logo-title{font-size:22px}.logo-mark{width:23px;height:23px}.nav{gap:17px}.nav .nav-work,.nav .preview-badge{display:none}.nav-contact{font-size:11px}.hero{display:flex;flex-direction:column;min-height:0;height:auto;max-height:none}.hero-copy{padding:45px 6vw 35px}.hero-copy h1{font-size:clamp(27px,8.1vw,44px);line-height:1.5;margin:18px 0 10px;white-space:normal}.hero-copy h1 br{display:none}.hero-copy .intro{font-size:12px;max-width:260px}.hero-copy .text-link{margin-top:12px}.hero-visual{height:440px;min-height:0}.hero-visual img{object-position:42% center}.hero-caption{bottom:22px;right:6vw;font-size:9px}.scroll-cue{display:none}.section-top{padding:65px 0 28px;display:block}.section-top h2{font-size:32px;margin-top:10px}.section-top p{margin-top:18px}.filter{gap:23px;padding-top:20px;margin-bottom:28px}.filter button{font-size:11px}.collections{grid-template-columns:1fr;gap:40px;min-height:0}.collection:nth-child(n){margin-top:0}.collection-image{aspect-ratio:4/5}.card-heading{margin-top:15px}.card-heading h3{font-size:25px}.card-sub{font-size:11px}.collections.filtered{grid-template-columns:1fr}.story{height:550px;margin-top:65px}.story img{object-position:48% center}.story-copy{left:6vw;bottom:11%}.story-copy h2{font-size:33px}.story-copy p{max-width:255px}.contact-section{padding:65px 0 45px;display:block}.contact-section h2{font-size:36px}.contact-right{padding-top:20px}.album-topbar{padding:25px 0}.album-title{display:block;padding:20px 0 35px}.album-title h1{font-size:37px;margin-top:12px}.album-title .album-en{font-size:16px}.album-title p{margin:25px 0 10px}.album-meta{padding-bottom:30px}.photo-grid{gap:28px;grid-template-columns:1fr}.photo-item:nth-child(even){margin-top:0}.session-info{padding:25px;display:block;margin-top:45px}.session-info>div+div{border-top:1px solid #d0cdbf;margin-top:25px;padding-top:20px}.next-album{font-size:21px}footer{font-size:9px;gap:20px}.album-hero{max-height:none}#contact-dialog{padding:25px}.hero-copy .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal{opacity:1;transform:none;transition:none}.hero-visual img{will-change:auto;transform:none!important}.collection-image img{transition:none!important}.collection:hover img{transform:none!important}}


.album-chapter{margin:55px 0 80px}.chapter-intro{border-top:1px solid var(--line);padding:30px 0}.chapter-intro h2{font:30px/1.5 var(--serif);font-weight:400;margin:12px 0 6px}.chapter-intro p{font-size:12px;color:var(--muted)}

.collections:not(.filtered) .collection:last-child:nth-child(3n+1){grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;column-gap:45px;margin-top:15px}.collections:not(.filtered) .collection:last-child:nth-child(3n+1) .collection-image{grid-row:1/3;aspect-ratio:16/10}.collections:not(.filtered) .collection:last-child:nth-child(3n+1) .card-heading{align-self:end}.collections:not(.filtered) .collection:last-child:nth-child(3n+1) .card-heading h3{font-size:32px}.collections:not(.filtered) .collection:last-child:nth-child(3n+1) .card-sub{align-self:start;margin-top:12px}
@media(max-width:620px){.collections:not(.filtered) .collection:last-child:nth-child(3n+1){display:block;grid-column:auto;margin-top:0}.collections:not(.filtered) .collection:last-child:nth-child(3n+1) .collection-image{aspect-ratio:4/5}.collections:not(.filtered) .collection:last-child:nth-child(3n+1) .card-heading h3{font-size:25px}.collections:not(.filtered) .collection:last-child:nth-child(3n+1) .card-sub{margin-top:3px}}

.manage-short{display:none}@media(max-width:620px){.manage-full{display:none}.manage-short{display:inline}.site-header{gap:8px}.nav{gap:12px}.nav #manage-link{font-size:11px}}

.hero-carousel{display:block;isolation:isolate}.hero-deck{display:grid;grid-template-columns:minmax(0,1fr);height:100%}.hero-slide{grid-area:1/1;min-width:0;width:100%;height:100%;display:grid;grid-template-columns:40% 60%;visibility:hidden;pointer-events:none;transform:translateX(-100%);transition:transform .75s cubic-bezier(.25,.7,.25,1);overflow:hidden}.hero-slide.is-active{visibility:visible;pointer-events:auto;transform:translateX(0)}.hero-slide.is-transitioning{visibility:visible}.hero-slide .hero-copy{background:var(--paper)}.hero-slide .hero-visual{touch-action:pan-y}.hero-controls{position:absolute;right:38px;bottom:22px;z-index:3;display:flex;align-items:center;gap:8px;background:#24282080;border:1px solid #fff6;border-radius:30px;color:white;padding:4px 8px;backdrop-filter:blur(8px)}.hero-controls button{border:0;background:none;color:inherit;min-width:32px;min-height:32px;font-size:17px}.hero-controls span{font-size:10px;letter-spacing:.12em;padding:0 5px}.hero-controls #hero-play{border-left:1px solid #fff5;font-size:12px}.hero-slide .hero-caption{bottom:83px}.hero-dots{position:absolute;bottom:31px;left:calc(40% + 25px);z-index:3;display:flex;gap:8px}.hero-dots button{width:8px;height:8px;padding:0;border:1px solid white;border-radius:50%;background:#fff3}.hero-dots button[aria-pressed=true]{background:white}.hero-controls button:focus-visible,.hero-dots button:focus-visible{outline-color:white}@media(max-width:900px){.hero-slide{grid-template-columns:43% 57%}.hero-dots{left:calc(43% + 20px)}}@media(max-width:620px){.hero-carousel{display:block;height:auto}.hero-deck{height:auto}.hero-slide{display:flex;flex-direction:column;height:auto}.hero-slide .hero-copy{flex:1}.hero-slide .hero-visual{flex:none;height:440px}.hero-controls{bottom:18px;right:6vw}.hero-slide .hero-caption{bottom:76px}.hero-dots{left:6vw;bottom:34px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Literary excerpts retain the existing portfolio layout. */
.quote-credit{display:inline-block;font-size:10px;line-height:1.8;letter-spacing:.02em;margin-top:10px}.album-en{font-family:inherit!important;font-style:normal!important;font-size:12px!important;line-height:1.9}.card-sub{font-size:13px;line-height:1.8;color:var(--ink)}.card-credit{display:block;font-size:9px;line-height:1.8;color:var(--muted);margin-top:5px}.hero-caption{letter-spacing:.035em;max-width:85%;line-height:1.8}.story-copy .quote-credit{color:#fffd}footer{flex-wrap:wrap;gap:20px}footer small{display:block;font-size:8px;margin-top:3px}.reading-intro{padding:35px 0 55px;max-width:680px}.reading-intro h1{font:45px/1.6 var(--serif);font-weight:400}.reading-intro>p{font-size:13px;line-height:2;color:var(--muted)}.reading-notes{max-width:850px;margin-bottom:80px}.reading-notes article{border-top:1px solid var(--line);padding:35px 0}.reading-notes h2{font:22px/1.6 var(--serif);font-weight:400}.reading-notes blockquote{margin:20px 0;border-left:1px solid var(--accent);padding-left:24px;font:20px/1.9 var(--serif)}.reading-original{font:13px/1.9 Georgia,serif;color:var(--muted);max-width:680px}.reading-notes .text-link{font-size:11px}@media(max-width:620px){.reading-intro h1{font-size:34px}.reading-notes blockquote{font-size:19px}.hero-caption{font-size:9px}.card-credit{font-size:10px}footer{align-items:flex-start}}

@media(max-width:620px){.hero-carousel .hero-copy h1 br{display:block}}
/* Publication details and language-aware typography. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.logo-title{white-space:nowrap}
html:not([lang=zh-CN]) .logo-title{font-size:21px;letter-spacing:.025em}
.language-picker select{border:1px solid var(--line);background:transparent;border-radius:20px;padding:6px 9px;color:var(--ink);font:11px/1.4 system-ui;max-width:105px;cursor:pointer}
.nav{gap:22px}
.hero-copy{padding-right:3vw}
.hero-copy h1{white-space:normal;margin-right:0;overflow-wrap:break-word}
html[lang=en] .hero-copy h1,html[lang=es] .hero-copy h1{font-size:clamp(34px,4.2vw,68px);letter-spacing:0;line-height:1.2}
html[lang=ko] .hero-copy h1,html[lang=ja] .hero-copy h1{font-size:clamp(32px,3.4vw,54px);letter-spacing:0;line-height:1.55;word-break:keep-all}
.hero-copy .intro{max-width:320px}
.hero-copy .eyebrow{letter-spacing:.12em;overflow-wrap:anywhere}
.hero-slide .hero-caption{font-size:10px;letter-spacing:.02em}
.section-top h2{font-size:clamp(30px,3vw,40px)}
.card-heading h3{font-size:clamp(20px,2vw,25px)}
.card-heading small{flex-shrink:0}
.album-title h1{overflow-wrap:break-word}
.next-album>span:first-child{min-width:0;overflow-wrap:break-word}
.contact-actions{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.contact-actions .text-link{gap:15px}
.contact-base{font:24px/1.6 var(--serif);font-weight:400;margin:16px 0 20px}
.contact-email{display:inline-block;font-size:13px;border-bottom:1px solid var(--line);padding:5px 0;overflow-wrap:anywhere}
#contact-dialog{width:680px;max-height:94svh;overflow:auto;padding:32px}
.contact-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.contact-dialog-heading .eyebrow{font-size:9px}
.contact-dialog-heading button{flex-shrink:0;padding:8px 12px}
#contact-dialog h2{font-size:32px;line-height:1.35}
#contact-dialog>p{font-size:12px}
.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 12px}
.inquiry-fields label{display:block;font-size:11px;color:var(--muted);min-width:0}
.inquiry-fields input,.inquiry-fields select,#contact-dialog .inquiry-fields textarea{width:100%;display:block;border:1px solid var(--line);background:#fff9;color:var(--ink);border-radius:3px;font:inherit;font-size:14px;line-height:1.6;padding:10px;margin:6px 0 0;min-width:0;height:auto}
.inquiry-fields input{min-height:43px}
.inquiry-fields .full-width{grid-column:1/-1}
#contact-dialog .inquiry-fields textarea{resize:vertical;min-height:110px}
.inquiry-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#contact-dialog .inquiry-privacy{font-size:10px;color:var(--muted);line-height:1.8}
#inquiry-status{font-size:12px;line-height:1.8;min-height:22px}
.contact-submit-actions{display:flex;align-items:baseline;justify-content:space-between;gap:25px;flex-wrap:wrap}
.contact-submit-actions .text-link{gap:15px}
#send-inquiry[disabled]{opacity:.5;cursor:default}
.reading-original{overflow-wrap:anywhere}
@media(max-width:900px){.nav{gap:15px}html:not([lang=zh-CN]) .logo-title{font-size:19px}.hero-copy h1{font-size:42px}.hero-copy .intro{font-size:12px}}
@media(max-width:620px){
 .site-header{gap:8px}.logo{gap:9px}.logo-sub{font-size:7px;letter-spacing:.12em}
 html:not([lang=zh-CN]) .logo-title{font-size:18px}
 .nav{gap:9px}.language-picker select{max-width:82px;padding:5px 7px;font-size:10px}.nav-contact{font-size:10px}
 .hero-copy{padding:40px 6vw 30px}.hero-copy .intro{max-width:310px}
 html[lang=en] .hero-copy h1,html[lang=es] .hero-copy h1{font-size:clamp(34px,8vw,44px);line-height:1.2}
 html[lang=ko] .hero-copy h1,html[lang=ja] .hero-copy h1{font-size:clamp(29px,7vw,38px);line-height:1.55}
 .contact-base{font-size:23px}.contact-email{font-size:12px}
 #contact-dialog{padding:20px;max-width:94vw}.inquiry-fields{grid-template-columns:1fr;gap:12px}.inquiry-fields .full-width{grid-column:auto}
 #contact-dialog h2{font-size:28px}.contact-dialog-heading .eyebrow{font-size:8px;letter-spacing:.08em}
 .contact-submit-actions{gap:15px}.contact-submit-actions .solid-button{padding:12px 16px}
}
@media(max-width:420px){.nav #manage-link{display:none}.logo-mark{width:21px;height:21px;flex-shrink:0}.logo-title{font-size:20px}html:not([lang=zh-CN]) .logo-title{font-size:17px}.language-picker select{max-width:77px}.nav{gap:7px}}
