@font-face{font-family:"Portfolio Baskerville";src:local("Baskerville");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Portfolio Libre Baskerville";src:url("fonts/libre-baskerville-20261025.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-024F,U+2000-206F}
@font-face{font-family:"Patrick Song";src:url("fonts/patrick-song-compact-20261025.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+3000-303F,U+FF00-FFEF}
:root{--portfolio-font:"Portfolio Baskerville","Portfolio Libre Baskerville","Patrick Song","Songti SC","SimSun",serif}
:root{color-scheme:light;--ink:#222;--paper:#f6f6f6;--muted:#777;--rule:#dedede}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--portfolio-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #333;outline-offset:5px}h1{font:400 32px/1.25 var(--portfolio-font);letter-spacing:.01em;margin:0}
.site-header{max-width:1480px;margin:0 auto;padding:42px 28px 38px;text-align:center}.site-brand,.home-header h1{font-size:28px;font-weight:400;line-height:1.3;letter-spacing:.025em;text-decoration:none}.site-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:30px;margin-top:13px}.site-nav a{display:inline-block;padding:9px 0;text-decoration:none;font-size:13px;color:#777;letter-spacing:.06em}.site-nav a:hover,.site-nav a[aria-current="page"]{color:#111}.site-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.collections{width:min(1440px,calc(100% - 64px));margin:8px auto 70px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.collection-card{display:block;min-width:0;text-decoration:none}.collection-card picture{display:block;overflow:hidden;background:#eee}.collection-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:opacity .25s ease}.collection-card:hover img{opacity:.91}.collection-copy{display:flex;flex-direction:column;gap:6px;padding:17px 0 0}.collection-copy strong{order:0;font-size:20px;line-height:1.45;font-weight:400;letter-spacing:.01em}.collection-meta{order:1;font-size:12px;color:var(--muted);letter-spacing:.06em}.site-footer{padding:25px 20px 30px;text-align:center;font-size:11px;line-height:1.6;color:#8b8b8b;letter-spacing:.03em}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
.hero{display:flex;flex-direction:column;align-items:center;width:min(1440px,calc(100% - 64px));margin:8px auto 56px}.hero-copy{order:-1;width:100%;text-align:center;margin:5px 0 30px}.eyebrow{margin:0 0 10px;font-size:12px;color:var(--muted);letter-spacing:.12em}.hero h1{font-size:30px;font-weight:400;line-height:1.4}.hero-image{display:block;position:static;max-width:100%;width:100%;height:auto;max-height:72vh;max-height:72svh;object-fit:contain;filter:none}.hero-shade{display:none}.gallery-section{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:0}.gallery{columns:2;column-gap:24px}.photo{display:block;position:relative;width:100%;margin:0 0 24px;padding:0;border:0;background:#ececec;break-inside:avoid;overflow:hidden;cursor:zoom-in}.photo img{display:block;width:100%;height:auto;transition:opacity .2s ease}.photo:hover img{opacity:.92}.gallery-error{padding:48px;text-align:center;color:var(--muted)}
.lightbox{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:24px;border:0;background:#101010;color:#fff}.lightbox[open]{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;place-items:center}.lightbox::backdrop{background:#101010}.lightbox figure{grid-column:2;position:relative;margin:0;width:100%;height:calc(100vh - 48px);height:calc(100dvh - 48px);display:grid;min-width:0}.lightbox img{display:block;max-width:100%;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin:auto;object-fit:contain;transition:filter .2s ease,opacity .2s ease}.lightbox img.is-preview{filter:blur(2px);opacity:.84}.lightbox-loading{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.lightbox-loading.is-hidden{opacity:0}.lightbox button{color:white;border:0;background:transparent;cursor:pointer}.lightbox-close{position:fixed;z-index:3;top:12px;right:15px;font-size:30px;width:44px;height:44px}.lightbox-nav{font-size:42px;width:48px;height:64px;opacity:.7}.lightbox-nav:hover{opacity:1}
@media(max-width:1099px) and (min-width:781px){.collections{grid-template-columns:repeat(2,minmax(0,1fr))}.collections .collection-card:last-child{grid-column:1/-1;max-width:calc(50% - 14px)}}
@media(max-width:780px){.site-header{padding:27px 20px 24px}.site-brand,.home-header h1{font-size:24px}.site-nav{gap:27px;margin-top:9px}.site-nav a{font-size:12px;padding:10px 0}.collections{width:calc(100% - 32px);grid-template-columns:1fr;gap:32px;margin-top:4px;margin-bottom:40px}.collection-card img{aspect-ratio:4/3}.collection-copy{padding-top:12px;gap:4px}.collection-copy strong{font-size:20px}.hero{width:calc(100% - 32px);margin:5px auto 32px}.hero-copy{margin:0 0 22px}.hero h1{font-size:25px}.eyebrow{font-size:11px;margin-bottom:7px}.hero-image{max-height:64svh}.gallery-section{width:calc(100% - 32px)}.gallery{columns:1}.photo{margin-bottom:16px}.site-footer{padding:24px 16px max(24px,env(safe-area-inset-bottom))}.lightbox{padding:12px}.lightbox[open]{grid-template-columns:0 minmax(0,1fr) 0}.lightbox figure{height:calc(100dvh - 24px)}.lightbox img{max-height:calc(100dvh - 24px)}.lightbox-nav{position:fixed;z-index:2;top:48%;width:40px;height:48px;background:#0004!important;border-radius:50%}.lightbox-nav.prev{left:4px}.lightbox-nav.next{right:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.collection-card img,.photo img,.lightbox img{transition:none}.lightbox-loading{animation-duration:1.6s}}@keyframes spin{to{transform:rotate(360deg)}}

.brand-english{display:block;font-size:11px;line-height:1.5;letter-spacing:.12em;margin-top:8px;font-weight:400;color:var(--muted)}
.site-nav a{display:flex;flex-direction:column;gap:2px;min-width:58px;align-items:center;font-size:14px}.nav-english{font-size:11px;letter-spacing:.03em;line-height:1.5}.site-nav a[aria-current="page"]{text-decoration:none}.site-nav a[aria-current="page"]>span:first-child{text-decoration:underline;text-underline-offset:4px}
.collection-copy{gap:5px}.collection-english{order:0;display:block;font-size:15px;line-height:1.55;color:#555;letter-spacing:.01em}.collection-meta{margin-top:5px;line-height:1.7;font-size:12px}.meta-english{display:block;font-size:11px;letter-spacing:.035em;font-weight:400}.hero-english{font-size:18px;line-height:1.5;margin:10px 0 0;color:#555;letter-spacing:.015em}.eyebrow .meta-english{margin-top:2px}.collection-copy strong{line-height:1.6}.lightbox-close,.lightbox-nav{font-family:Arial,sans-serif}
@media(max-width:780px){.brand-english{font-size:10px;margin-top:6px}.site-nav{gap:22px}.site-nav a{font-size:13px;min-width:51px}.nav-english{font-size:10px}.collection-english{font-size:14px}.hero-english{font-size:16px;margin-top:8px}.collection-copy{gap:4px}}

/* Larger photographs and type, arranged as a continuous vertical portfolio. */
body{font-size:18px}.site-brand,.home-header h1{font-size:30px}.brand-english{font-size:13px}.site-nav a{font-size:16px}.nav-english{font-size:13px}
.collections{width:min(1200px,calc(100% - 64px));grid-template-columns:minmax(0,1fr);gap:64px}.collections .collection-card:last-child{grid-column:auto;max-width:none}.collection-card img{aspect-ratio:3/2}.collection-copy{padding-top:20px}.collection-copy strong{font-size:24px}.collection-english{font-size:18px}.collection-meta{font-size:14px}.meta-english{font-size:13px}
.hero,.gallery-section{width:min(1200px,calc(100% - 64px))}.hero h1{font-size:32px}.hero-english{font-size:20px}.eyebrow{font-size:14px}.gallery{columns:1}.photo{margin-bottom:36px}.site-footer{font-size:13px}
@media(max-width:780px){body{font-size:18px}.site-brand,.home-header h1{font-size:26px}.brand-english{font-size:12px}.site-nav a{font-size:15px}.nav-english{font-size:12px}.collections{width:calc(100% - 32px);gap:40px}.collection-card img{aspect-ratio:4/3}.collection-copy{padding-top:14px}.collection-copy strong{font-size:22px}.collection-english{font-size:16px}.collection-meta{font-size:14px}.meta-english{font-size:13px}.hero,.gallery-section{width:calc(100% - 32px)}.hero h1{font-size:27px}.hero-english{font-size:18px}.eyebrow{font-size:13px}.photo{margin-bottom:20px}}

/* Compact homepage captions: one title/date line and one English line. */
.home-page .site-header{padding-top:28px;padding-bottom:24px}.home-page .site-nav{margin-top:9px}.home-page .collections{gap:32px;margin-top:4px;margin-bottom:36px}.home-page .collection-copy{padding-top:12px;gap:3px}.home-page .collection-copy strong{line-height:1.45;font-weight:400}.collection-date{display:inline;white-space:nowrap;font-size:.78em;letter-spacing:0}.home-page .collection-english{line-height:1.45}.home-page .site-footer{padding-top:16px;padding-bottom:20px}
@media(max-width:780px){.home-page .site-header{padding-top:22px;padding-bottom:18px}.home-page .collections{gap:26px}.home-page .collection-copy{padding-top:10px;gap:3px}.home-page .collection-date{font-size:16px}.home-page .collection-english{font-size:15px}}

/* Small, borderless hints appear only while interacting with a cover. */
.home-page .collection-card{cursor:pointer}.collection-media{position:relative;display:block;overflow:hidden}.home-page .collection-card img{transition:transform .55s ease;opacity:1}
.collection-entry{position:absolute;right:18px;bottom:18px;z-index:1;display:block;padding:7px 11px;background:rgba(255,253,248,.32);-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08);color:#34372f;border:0;outline:0;border-radius:3px;box-shadow:none;opacity:0;transform:translateY(3px);transition:opacity .22s ease,transform .25s ease;pointer-events:none}
.entry-text{display:flex;flex-direction:column;gap:0}.entry-label{font-size:12px;line-height:1.15;letter-spacing:.1em}.entry-english{font-size:8px;line-height:1.2;letter-spacing:.015em;color:#54594f}
.home-page .collection-card:focus-visible .collection-entry{opacity:1;transform:none}.home-page .collection-card:focus-visible .collection-copy strong{text-decoration:none}
@media(hover:hover) and (pointer:fine){.home-page .collection-card:hover .collection-entry{opacity:1;transform:none}.home-page .collection-card:hover img{transform:scale(1.008);opacity:1}.home-page .collection-card:hover .collection-copy strong{text-decoration:none}}
.collection-media::after{content:none}
@media(max-width:780px),(hover:none),(pointer:coarse){.collection-entry{display:none}.collection-media::after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;background:linear-gradient(135deg,#b9b3a7 0%,#fffdf7 48%,#e8e3d8 100%);clip-path:polygon(100% 0,100% 100%,0 100%);filter:drop-shadow(-1px -1px 2px rgba(0,0,0,.22));pointer-events:none}}

@media(prefers-reduced-motion:reduce){.home-page .collection-card img,.collection-entry{transition:none}.home-page .collection-card:hover img{transform:none}}

/* Desktop typography only; existing phone sizes remain unchanged. */
@media(min-width:781px){body{font-size:20px}.site-brand,.home-header h1{font-size:34px}.brand-english{font-size:15px}.site-nav a{font-size:18px}.nav-english{font-size:15px}.collection-copy strong{font-size:28px}.collection-english{font-size:21px}.hero h1{font-size:36px}.hero-english{font-size:23px}.eyebrow{font-size:16px}.meta-english{font-size:15px}.site-footer{font-size:14px}}
