/* A swipeable album integrated into the cream story/family chapter. */
.photo-strip-stage{position:relative;background:transparent;padding:20px 0;scroll-margin-top:64px}
.photo-strip-sticky{position:relative;width:min(calc(100% - 48px),840px);margin:auto}
.photo-strip-window{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.photo-strip-window::-webkit-scrollbar{display:none}
.photo-strip-track{display:flex;width:max-content;gap:0;margin:0;padding:0}
.strip-photo{flex:0 0 auto;width:var(--album-page-width,calc(100vw - 48px));aspect-ratio:4 / 3;margin:0;padding:0;border:0;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
.strip-photo img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.album-controls{position:absolute;inset:0 0 36px;pointer-events:none;display:flex;justify-content:space-between;align-items:stretch}
.album-controls button{pointer-events:auto;align-self:stretch;width:60px;border:0;border-radius:0;background:linear-gradient(90deg,#0004,transparent);color:white;text-shadow:0 1px 5px #0009;font:32px 'DM Sans',sans-serif;cursor:pointer;padding:0;transition:background .2s}
.album-controls .album-next{background:linear-gradient(270deg,#0004,transparent)}
.album-controls button:hover{background:#0003}.album-controls button:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.album-page-hint{height:36px;display:flex;align-items:center;justify-content:space-between;color:#66746d;font-size:10px;letter-spacing:1px;padding-top:8px}
.album-page-count{font-variant-numeric:tabular-nums}
.story-family-chapter{background:#f5f5f3;color:#17382f;padding-top:10px}
.story-family-chapter .story-finale{min-height:0;background:transparent;padding:30px 24px;color:#17382f}
.story-family-chapter .story-link{padding:10px 20px;text-shadow:none}
.story-family-chapter .story-finale .eyebrow{color:#80623b}
.story-family-chapter .story-finale h2{font-size:clamp(65px,9vw,120px);margin:15px 0 22px}
.chapter-action{display:inline-block;font:11px 'DM Sans',sans-serif;letter-spacing:1px;color:#496456;border-bottom:1px solid #b5956880;padding:8px 0;text-shadow:none}
.story-link:hover .chapter-action,.families-link:hover .chapter-action{color:#80623b;border-color:#80623b}
.story-family-chapter .families-finale{background:transparent;color:#17382f;border:0;padding:35px 24px 65px}
.story-family-chapter .families-finale h2{font-size:clamp(60px,8vw,105px);margin-bottom:18px}
.launch-home footer{background:#f5f5f3;color:#17382f;border-top:1px solid #17382f18}.launch-home footer small{color:#66746d}
@media(max-width:700px){.photo-strip-stage{scroll-margin-top:60px;padding:12px 0}.photo-strip-sticky{width:calc(100% - 24px)}.story-family-chapter{padding-top:0}.story-family-chapter .story-finale{padding:25px 20px}.story-family-chapter .families-finale{padding:25px 20px 50px}.album-controls button{width:44px;font-size:27px}.album-page-hint{font-size:9px;letter-spacing:.5px}}
@media(prefers-reduced-motion:reduce){.album-controls button{transition:none}}

/* Several layered photographs peek out behind the focused page. */
.album-layered .photo-strip-window{isolation:isolate}
.album-slot{position:relative;flex:0 0 var(--album-page-width);width:var(--album-page-width);aspect-ratio:4 / 3;scroll-snap-align:start;scroll-snap-stop:always}
.album-layered .strip-photo{position:absolute;inset:0;width:100%;height:100%;scroll-snap-align:none;transform-origin:center;backface-visibility:hidden}
.album-layered .album-controls{left:12%;right:12%;top:12%;bottom:calc(12% + 32px)}
.album-layered .album-page-hint{margin-top:-6%;position:relative;z-index:110}
@media(max-width:700px){.album-layered .photo-strip-sticky{width:100%}.album-layered .album-page-hint{padding-left:18px;padding-right:18px}.album-layered .album-controls{left:12%;right:12%;bottom:calc(12% + 28px)}}

/* Expose the neighbouring portraits beside the focused photograph. */
.album-layered .album-controls{left:18%;right:18%;top:18%;bottom:calc(18% + 32px)}
.album-layered .album-page-hint{margin-top:-10%}
