@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-serif-regular.woff2)format("woff2")}@font-face{font-family:Hangjian Fangsong;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/hangjian-fangsong.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/archivo-regular.ttf)format("truetype")}:root{color-scheme:light;--paper:#f9f8f6;--ink:#1c1c1c;--body:#1c1c1ccc;--secondary:#1c1c1c9e;--rule:#1c1c1c1a;--serif:"Hangjian Fangsong", "FangSong", "STFangsong", serif;--latin:"IBM Plex Serif", "Times New Roman", serif;--sans:Archivo, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--space-section:clamp(80px, 9vw, 136px);--ease-out:cubic-bezier(.22, 1, .36, 1);--motion-feedback:.32s;--motion-arrival:.8s}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;scrollbar-color:#aaa9a6 var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--ink);color:var(--paper)}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--serif);font-synthesis:none;text-wrap:balance;font-weight:400}a{color:inherit;text-underline-offset:5px;-webkit-tap-highlight-color:#1c1c1c1a;text-decoration:none}a:focus-visible{outline:1px solid var(--ink);outline-offset:6px}img{width:100%;height:auto;display:block}.page{width:min(100%,1440px);margin:0 auto;padding:0 64px}.skip-link{z-index:10;color:var(--paper);background:var(--ink);padding:12px 20px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:16px}.masthead{align-items:center;min-height:104px;display:flex}.brand-mark{width:52px;height:52px;transition:opacity var(--motion-feedback) var(--ease-out), transform var(--motion-feedback) var(--ease-out);place-items:center;display:grid}.brand-mark img{width:44px;height:44px}.brand-mark:hover,.brand-mark:focus-visible{opacity:.72;transform:translateY(-2px)}.opening-type{justify-content:space-between;align-items:end;gap:32px;padding:56px 0;display:flex}h1{letter-spacing:.015em;font-size:clamp(84px,9vw,128px);line-height:1.2}.opening-type>p{color:var(--secondary);padding-bottom:10px;font-size:15px;line-height:1.9}.photograph img{filter:grayscale()}.photograph figcaption{color:var(--secondary);padding-top:14px;font-size:13px;line-height:1.8}.gallery{padding-top:var(--space-section)}.gallery-pair{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:32px;display:grid}.photo-spring{grid-column:1/6}.photo-cliffs{grid-column:7/13;margin-top:112px}.wide-photo,.photo-shore{margin-top:var(--space-section)}.wide-photo{width:83.3333%}.photo-tide{margin-left:auto}.photo-birds{margin-right:auto}.about{padding:var(--space-section) 0;text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex}.about h2{font-size:clamp(25px,3vw,40px);line-height:1.7}.about h2 span{font-family:var(--latin);font-size:1em}.about p{max-width:34em;color:var(--body);font-size:14px;line-height:2}.footer{border-top:1px solid var(--rule);color:var(--secondary);justify-content:space-between;align-items:center;gap:16px 24px;padding:24px 0;font-size:12px;line-height:1.8;display:flex}.icp{min-height:36px;transition:color var(--motion-feedback) var(--ease-out);align-items:center;display:inline-flex;position:relative}.icp:after{content:"";transform-origin:100%;height:1px;transition:transform var(--motion-feedback) var(--ease-out);background:currentColor;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.icp:hover,.icp:focus-visible{color:var(--ink)}.icp:hover:after,.icp:focus-visible:after{transform-origin:0;transform:scaleX(1)}@media (width<=1100px){.page{padding:0 40px}.gallery-pair{gap:24px}.photo-spring{grid-column:1/7}.photo-cliffs{grid-column:7/13;margin-top:88px}}@media (width<=760px){:root{--space-section:64px}.page{padding:0 24px}.masthead{min-height:84px}.brand-mark{width:44px;height:44px}.brand-mark img{width:36px;height:36px}.opening-type{padding:32px 0 36px;display:block}h1{font-size:clamp(72px,19vw,108px);line-height:1.2}.opening-type>p{margin-top:18px;padding:0;font-size:13px}.photograph figcaption{padding-top:11px;font-size:12px}.gallery-pair{display:block}.photo-cliffs{margin-top:48px}.wide-photo{width:100%}.about{text-align:left;align-items:flex-start;gap:18px}.about h2{font-size:clamp(22px,5.8vw,30px);line-height:1.8}.about p{font-size:13px}.footer{flex-direction:column;align-items:flex-start;gap:2px;padding:20px 0;font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.brand-mark,.icp,.icp:after{transition:none}.brand-mark:hover,.brand-mark:focus-visible{transform:none}}.photo-link{cursor:zoom-in;display:block}.photo-link:focus-visible{outline-offset:6px}.photo-viewer{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);background:var(--paper);overscroll-behavior:contain;border:0;margin:0;padding:0 clamp(16px,3vw,48px);position:fixed;inset:0}.photo-viewer[open]{grid-template-rows:64px minmax(0,1fr) 88px;display:grid}.photo-viewer::backdrop{background:0 0}.viewer-toolbar{justify-content:space-between;align-items:center;display:flex}.viewer-control{width:44px;height:44px;color:var(--ink);cursor:pointer;transition:opacity var(--motion-feedback) var(--ease-out);background:0 0;border:0;place-items:center;padding:10px;display:inline-grid}.viewer-control:hover{opacity:.6}.viewer-control:focus-visible{outline:1px solid var(--ink);outline-offset:-2px}.viewer-control svg{width:24px;height:24px}.viewer-control[aria-pressed=true] [data-zoom-plus]{display:none}.viewer-stage{overscroll-behavior:contain;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.viewer-stage:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.viewer-image{object-fit:contain;filter:grayscale();cursor:zoom-in;flex:none;width:auto;max-width:100%;height:auto;max-height:100%}.viewer-stage.is-zoomed{display:block}.is-zoomed .viewer-image{width:var(--zoom-width);cursor:zoom-out;max-width:none;max-height:none;margin:0 auto}.viewer-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.viewer-caption{font-size:13px;line-height:1.8}#viewer-help{color:var(--secondary);font-size:12px}.viewer-navigation{align-items:center;gap:4px;display:flex}.viewer-count{text-align:center;min-width:40px;color:var(--secondary);font-variant-numeric:tabular-nums;font-size:12px}@media (width<=760px){.photo-viewer[open]{grid-template-rows:60px minmax(0,1fr) 96px}.viewer-caption{font-size:12px}#viewer-help{max-width:12em;font-size:11px}}@media (prefers-reduced-motion:reduce){.viewer-control{transition:none}}.glyph-mask{vertical-align:top;display:inline-block;overflow:clip}.title-glyph{transform-origin:50% 100%;display:inline-block}.photo-link{position:relative}.photo-zoom-cue{background:var(--paper);width:36px;height:36px;color:var(--ink);opacity:0;pointer-events:none;transition:opacity var(--motion-feedback) var(--ease-out), transform var(--motion-feedback) var(--ease-out);place-items:center;display:grid;position:absolute;bottom:16px;right:16px;transform:translateY(6px)}.photo-zoom-cue svg{width:20px;height:20px;transition:transform .5s var(--ease-out)}.photo-link:focus-visible .photo-zoom-cue{opacity:1;transform:translateY(0)}@media (hover:hover) and (pointer:fine){.photo-link:hover .photo-zoom-cue{opacity:1;transform:translateY(0)}.photo-link:hover .photo-zoom-cue svg{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.photo-zoom-cue,.photo-zoom-cue svg{transition:none;transform:none}}@media (hover:hover) and (pointer:fine){.viewer-control svg{transition:transform var(--motion-feedback) var(--ease-out)}.viewer-control[data-next]:hover svg{transform:translate(3px)}.viewer-control[data-previous]:hover svg{transform:translate(-3px)}.viewer-control[data-close]:hover svg{transform:rotate(90deg)}.viewer-control[data-zoom]:hover svg{transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.viewer-control svg{transition:none;transform:none!important}}@media (prefers-reduced-motion:no-preference){.photograph[data-photo-motion=pending] .photo-link{clip-path:var(--photo-reveal-mask);opacity:.65}.photograph[data-photo-motion=pending] figcaption{clip-path:inset(0 100% 0 0);transform:translateY(6px)}}
