:root{--ambient:#eef1f3;--rail-height:clamp(300px,58vh,580px)}
@property --wash-0{syntax:'<color>';inherits:true;initial-value:#aabfd2}
@property --wash-1{syntax:'<color>';inherits:true;initial-value:#d9ac99}
@property --wash-2{syntax:'<color>';inherits:true;initial-value:#a4c5b9}
html{transition:--wash-0 1.2s ease,--wash-1 1.2s ease,--wash-2 1.2s ease}
body{isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 5% 20%,var(--wash-0),transparent 68%),radial-gradient(ellipse at 95% 45%,var(--wash-1),transparent 65%),radial-gradient(ellipse at 35% 100%,var(--wash-2),transparent 75%);opacity:.85}
body{background:var(--ambient);transition:background-color .55s ease}
.site-header{background:color-mix(in srgb,var(--ambient) 82%,transparent);transition:background-color .55s ease}
.eyebrow,.collection-note,.cover-caption,.footer>span,.footer>a:last-child{color:#545960}
.closing-title span{color:#626870}
.place{margin-bottom:115px}
.place-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.place-heading .place-title{margin:0}
.album-controls{display:flex;align-items:center;gap:10px}
.album-count{font-size:13px;color:#545960;font-variant-numeric:tabular-nums;margin-right:12px;min-width:52px;text-align:right}
.album-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgb(29 29 31 / .12);background:rgb(255 255 255 / .38);color:#1d1d1f;cursor:pointer;transition:background .2s,opacity .2s}
.album-arrow:hover:not(:disabled){background:rgb(255 255 255 / .78)}
.album-arrow:disabled{opacity:.25;cursor:default}
.album-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.place-photos,.place-photos.is-pair,.place-photos.is-single{position:relative;display:flex;columns:auto;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:4px 0 22px;scrollbar-width:thin;scrollbar-color:rgb(29 29 31 / .2) transparent;-webkit-overflow-scrolling:touch}
.place-photos::after{content:"";flex:0 0 var(--tail,0px)}
.place-photos.is-single::after{display:none}
.place-photos .photograph,.place-photos.is-single .photograph{flex:0 0 auto;display:block;width:clamp(220px,calc(var(--rail-height) * var(--ratio,1.5)),min(85vw,1050px));max-width:100%;height:var(--rail-height);margin:0;scroll-snap-align:start;border-radius:20px;background:rgb(255 255 255 / .14);overflow:hidden}
.place-photos .photograph img,.place-photos.is-single img{display:block;width:100%;height:100%;max-height:none;max-width:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.photograph:hover{filter:none}
.place-photos .photograph,.place-photos.is-single .photograph{display:flex;align-items:center;justify-content:center;background:transparent}
.photo-surface,#cover{position:relative;display:block;flex:none;overflow:hidden;isolation:isolate;--edge-mask:linear-gradient(to right,transparent,rgb(0 0 0 / .3) 7%,rgb(0 0 0 / .8) 16%,#000 25%,#000 75%,rgb(0 0 0 / .8) 84%,rgb(0 0 0 / .3) 93%,transparent),linear-gradient(to bottom,transparent,rgb(0 0 0 / .3) 7%,rgb(0 0 0 / .8) 16%,#000 25%,#000 75%,rgb(0 0 0 / .8) 84%,rgb(0 0 0 / .3) 93%,transparent);-webkit-mask-image:var(--edge-mask);mask-image:var(--edge-mask);-webkit-mask-composite:source-in;mask-composite:intersect}
.photo-surface::after,#cover::after{content:"";position:absolute;inset:0;pointer-events:none;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);mask-image:linear-gradient(to right,#000,rgb(0 0 0 / .8) 10%,transparent 38%,transparent 62%,rgb(0 0 0 / .8) 90%,#000),linear-gradient(to bottom,#000,rgb(0 0 0 / .8) 10%,transparent 38%,transparent 62%,rgb(0 0 0 / .8) 90%,#000);-webkit-mask-image:linear-gradient(to right,#000,rgb(0 0 0 / .8) 10%,transparent 38%,transparent 62%,rgb(0 0 0 / .8) 90%,#000),linear-gradient(to bottom,#000,rgb(0 0 0 / .8) 10%,transparent 38%,transparent 62%,rgb(0 0 0 / .8) 90%,#000)}
.place-photos.is-dragging{scroll-behavior:auto;scroll-snap-type:none;cursor:grabbing;user-select:none}
.place-photos.is-dragging .photograph{cursor:grabbing;pointer-events:none}
.will-reveal{opacity:.12;transform:translate3d(28px,30px,0);transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}
.will-reveal.is-revealed{opacity:1;transform:translate3d(0,0,0)}
.photograph.will-reveal{opacity:1;transform:none;transition:none;background:transparent}
.photograph.will-reveal .photo-surface{opacity:.12;transform:translate3d(20px,26px,0);transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}
.photograph.will-reveal.is-revealed .photo-surface{opacity:1;transform:none}
.cover.will-reveal{transform:translate3d(0,32px,0)}
.cover.will-reveal.is-revealed{transform:none}
@media(max-width:800px){:root{--rail-height:clamp(290px,55vh,500px)}.place{margin-bottom:88px}.place-photos,.place-photos.is-pair,.place-photos.is-single{gap:18px}.place-photos .photograph,.place-photos.is-single .photograph{border-radius:17px}.collection{padding-top:88px}}
@media(max-width:540px){:root{--rail-height:clamp(280px,52svh,430px)}.place-heading{margin-bottom:18px;gap:12px}.album-controls{gap:7px}.album-arrow{width:34px;height:34px}.album-count{font-size:12px;margin-right:4px;min-width:42px}.place-photos,.place-photos.is-pair,.place-photos.is-single{gap:16px;padding-bottom:18px}.place-photos .photograph,.place-photos.is-single .photograph{width:clamp(200px,calc(var(--rail-height) * var(--ratio,1.5)),82vw);max-width:100%;border-radius:15px}.place{margin-bottom:68px}.will-reveal{transform:translate3d(18px,22px,0)}}
@media(prefers-reduced-motion:reduce){body,.site-header{transition:none}.will-reveal,.photograph.will-reveal .photo-surface{opacity:1;transform:none;transition:none}.place-photos,.place-photos.is-pair,.place-photos.is-single{scroll-behavior:auto}}

/* A sharp photograph sits above a separate, outward-drifting atmosphere. */
.photo-surface,#cover{overflow:visible;-webkit-mask-image:none;mask-image:none;border-radius:0;background:transparent}
.photo-surface::after,#cover::after{display:none}
.photo-surface>img,#cover>img{position:relative;z-index:1;-webkit-mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.place-photos .photograph,.place-photos.is-single .photograph{overflow:visible;border-radius:0}
.place-photos,.place-photos.is-pair,.place-photos.is-single{padding:80px 44px 88px;gap:100px;scroll-padding-inline:44px;margin-top:-48px;margin-bottom:-48px}
.place-heading{position:relative;z-index:2}
.photo-mist{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.72}
.photo-mist::before{content:"";position:absolute;inset:-12%;background:var(--photo-mist) center/100% 100%;filter:blur(32px) saturate(1.5);mask-image:radial-gradient(ellipse,#000 28%,transparent 72%);transform:scale(1.13)}
.photo-mist i{position:absolute;width:30%;height:38%;border-radius:50%;background:var(--photo-mist) center/cover;filter:blur(19px) saturate(1.5);opacity:.48;transform:translate(-50%,-50%);animation:mist-drift 15s ease-in-out infinite alternate;animation-play-state:paused}
.is-revealed .photo-mist i{animation-play-state:running}
.photo-mist::after{content:"";position:absolute;inset:-15%;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");mask-image:radial-gradient(ellipse,transparent 40%,#000 58%,transparent 72%);mix-blend-mode:soft-light}
@keyframes mist-drift{to{transform:translate(calc(-50% + var(--drift) * 20px),calc(-50% - 20px)) scale(1.24);opacity:.26}}
@media(max-width:540px){.place-photos,.place-photos.is-pair,.place-photos.is-single{padding:60px 22px 68px;gap:64px;scroll-padding-inline:22px}.photo-mist::before{filter:blur(23px) saturate(1.5)}.photo-mist i{filter:blur(14px) saturate(1.5)}}
@media(prefers-reduced-motion:reduce){html{transition:none}.photo-mist i{animation:none}}
