:root{--paper:#f2f0e9;--ink:#242824;--muted:#71746b;--accent:#d0dc93}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #718142;outline-offset:6px}button{border:0}img{display:block;width:100%;height:100%;object-fit:cover}::selection{background:var(--accent)}.photo-header{height:82px;display:flex;align-items:center;gap:30px;padding:0 5vw;border-bottom:1px solid #2428241a}.wordmark{font-size:32px;font-weight:700;letter-spacing:-3px}.wordmark span{font-size:19px;margin-left:5px;vertical-align:top}.back-link{font-size:11px;margin-left:auto}.language{font-size:11px;background:none;padding:10px}.photo-intro{padding:55px 5vw 28px}.intro-top,.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;letter-spacing:.06em}.intro-top span:first-child{font-size:10px}.photo-intro h1{font-size:clamp(62px,12.4vw,200px);font-weight:500;letter-spacing:-.085em;line-height:1.05;margin:28px 0 24px;white-space:nowrap}.title-serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;letter-spacing:-.075em}.photo-intro sup{font-size:.22em;vertical-align:top;display:inline-block;margin:12px 0 0 12px;letter-spacing:0}.intro-bottom p{max-width:380px;line-height:1.9;letter-spacing:.03em}.intro-bottom a{white-space:nowrap;border-bottom:1px solid #777b6e;padding:10px 0}.cover-section{margin:0 2vw}.cover-photo{width:100%;height:clamp(400px,66vw,760px);position:relative;display:block;overflow:hidden;text-align:left;background:#627f86;padding:0;color:white}.cover-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0001 45%,#0007);pointer-events:none}.cover-photo img{transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}.cover-photo:hover img{transform:scale(1.035)}.cover-index{position:absolute;top:30px;left:3vw;z-index:1;font-size:10px;letter-spacing:.12em}.cover-invitation{position:absolute;right:3vw;top:26px;z-index:1;padding:12px 18px;border:1px solid #ffffff6b;border-radius:40px;backdrop-filter:blur(6px);font-size:11px}.cover-title{position:absolute;bottom:5vw;left:3vw;z-index:1;font-size:clamp(46px,7vw,110px);letter-spacing:-.055em;line-height:.98}.cover-title em{font-family:Georgia,serif;font-weight:400}.cover-caption{display:flex;justify-content:space-between;gap:12px;padding:16px 0;font-size:9px;letter-spacing:.09em;color:var(--muted)}.collection{padding:110px 7vw 50px}.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--muted)}h2{font-size:clamp(24px,3.3vw,50px);letter-spacing:-.05em;font-weight:400;margin:18px 0 0}.collection-heading>p{font-size:11px;color:var(--muted)}.filter-bar{margin:42px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #24282426;padding-top:18px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:12px;padding:11px 18px;background:transparent;border-radius:30px;transition:background .25s}.filters button:hover{background:#e5e6da}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}#photoCount{font-size:10px;color:var(--muted);white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 5vw;align-items:start}.photo-card{margin:0;min-width:0;animation:card-in .65s both;animation-delay:var(--delay,0ms)}.photo-card:nth-child(4n+2){padding-top:95px}.photo-card:nth-child(4n+3){width:84%}.photo-card:nth-child(4n+4){width:90%;justify-self:end}.photo-image{display:block;width:100%;padding:0;aspect-ratio:4/5;overflow:hidden;position:relative;background:#d4d8ce}.photo-card:nth-child(3n+1) .photo-image{aspect-ratio:5/4}.photo-image img{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s}.photo-image:hover img{transform:scale(1.045);filter:saturate(1.08)}.photo-open{position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:24px;transform:rotate(-45deg);transition:transform .35s}.photo-image:hover .photo-open{transform:rotate(0)}figcaption{display:flex;align-items:baseline;gap:14px;padding-top:16px}figcaption small{font-size:9px;color:var(--muted)}figcaption h3{font-size:13px;font-weight:400;margin:0}figcaption span{margin-left:auto;font-size:9px;color:var(--muted)}.sample-note{margin:60px auto 0;font-size:11px;line-height:1.9;color:var(--muted);text-align:center;max-width:550px}.photo-outro{padding:100px 7vw 110px;text-align:center}.photo-outro p{font-size:clamp(52px,9vw,140px);line-height:1;letter-spacing:-.06em;margin:32px 0 40px}.photo-outro em{font-family:Georgia,serif}.photo-outro a{font-size:12px;border-bottom:1px solid #7c8471;padding:10px}footer{display:flex;justify-content:space-between;gap:20px;margin:0 5vw;padding:24px 0 30px;border-top:1px solid #24282426;font-size:9px;color:var(--muted)}.photo-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#161a17;color:#eaece1;overflow:auto}.photo-viewer::backdrop{background:#161a17}.viewer-toolbar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4vw;font-size:11px}.viewer-toolbar button{background:#ffffff14;border:1px solid #ffffff30;color:white;border-radius:50%;width:44px;height:44px;font-size:26px}.viewer-demo{font-size:9px;color:#afb6a9;margin-left:auto}.viewer-stage{position:relative;height:calc(100dvh - 235px);min-height:180px;padding:0 9vw}.viewer-canvas{height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#879077 transparent}.viewer-canvas img{object-fit:contain;animation:card-in .4s}.viewer-canvas.is-zoomed img{height:auto;min-height:100%;object-fit:cover;width:160%;max-width:none}.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:48px;height:48px;border-radius:50%;background:#ffffff12;color:white;font-size:23px}.previous{left:2vw}.next{right:2vw}.viewer-arrow:hover,.viewer-toolbar button:hover{background:#ffffff29}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 9vw;gap:16px}.viewer-bottom h2{font-size:19px;margin:0;letter-spacing:0}.viewer-bottom p{font-size:11px;color:#a4ad9f;margin:7px 0 0}.viewer-bottom button{background:none;border:1px solid #ffffff30;color:white;border-radius:30px;padding:10px 15px;font-size:11px;white-space:nowrap}.filmstrip{display:flex;gap:8px;overflow-x:auto;padding:0 9vw 18px}.filmstrip button{width:55px;height:42px;flex-shrink:0;padding:0;opacity:.45;background:#343c32}.filmstrip button[aria-current]{opacity:1;outline:1px solid var(--accent);outline-offset:2px}.image-error{display:grid;place-items:center;text-align:center;min-height:200px;padding:20px;color:#52614f;font-size:12px}.cover-photo .image-error{color:white}.reveal-pending{opacity:0;transform:translateY(25px)}.reveal-ready{opacity:1;transform:none;transition:opacity .8s,transform .8s}@keyframes card-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}body.viewer-open{overflow:hidden}@media(max-width:680px){.photo-header{height:68px;gap:14px}.photo-intro{padding-top:38px}.intro-top{font-size:9px;align-items:start}.intro-top span:last-child{max-width:110px;text-align:right;line-height:1.7}.photo-intro h1{font-size:12.1vw;margin:30px 0 24px}.intro-bottom{font-size:10px;align-items:end;gap:20px}.intro-bottom p{max-width:205px}.cover-section{margin:0 3vw}.cover-photo{height:64vh;min-height:400px}.cover-index{top:22px;left:20px}.cover-invitation{top:16px;right:16px;font-size:9px}.cover-title{left:22px;bottom:36px;font-size:52px}.collection{padding:70px 5vw 30px}.collection-heading{display:block}.collection-heading>p{margin-top:16px}.filter-bar{margin-top:28px}.filters{gap:2px}.filters button{padding:10px 12px}.photo-grid{gap:32px 18px}.photo-card:nth-child(4n+2){padding-top:45px}.photo-card:nth-child(4n+3),.photo-card:nth-child(4n+4){width:100%}.photo-image{aspect-ratio:3/4}.photo-open{width:30px;height:30px;right:9px;bottom:9px;font-size:19px}figcaption{gap:7px;padding-top:10px}figcaption h3{font-size:11px}figcaption span{display:none}.photo-outro{padding:65px 5vw 75px}.photo-outro .eyebrow{font-size:8px}footer{font-size:8px;flex-wrap:wrap}.viewer-stage{padding:0 3vw;height:calc(100dvh - 240px)}.viewer-arrow{top:auto;bottom:10px;background:#171e19b8}.viewer-bottom,.filmstrip{padding-left:5vw;padding-right:5vw}.viewer-bottom p{font-size:10px;line-height:1.7}.viewer-demo{font-size:8px}.viewer-toolbar{padding:0 5vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}

.photo-header .wordmark{font-family:"Caveat","Segoe Print",cursive;font-size:43px;font-weight:600;letter-spacing:-4px;line-height:1;transform:rotate(-5deg)}.photo-header .wordmark span{font:15px/1 Georgia,serif;letter-spacing:0;margin-left:9px;color:#b69551;vertical-align:middle}
