/* All moments share the same geometry as they travel through the ribbon. */
.memory-carousel{margin:70px -5.56% 0;color:var(--azure);position:relative}
.memory-intro{text-align:center;padding:0 24px}
.memory-intro h2{font:500 clamp(24px,3vw,40px)/1.15 DM,sans-serif;letter-spacing:-.04em;margin:0 0 12px}
.memory-intro p{font:11px/1.6 'IBM Plex Mono',monospace;margin:0}
.memory-stage{position:relative;overflow:hidden;isolation:isolate;touch-action:pan-y;cursor:grab;height:clamp(360px,34vw,550px);perspective:1100px;perspective-origin:50% 42%;margin-top:26px;user-select:none}
.memory-stage:active{cursor:grabbing}
.memory-stage:focus-visible{outline:2px dashed var(--azure);outline-offset:-6px}
.memory-carousel .holiday-polaroids{display:block;position:absolute;inset:0;max-width:none;margin:0;padding:0;transform-style:preserve-3d}
.memory-carousel .holiday-print{position:absolute;left:50%;top:90px;width:clamp(185px,17vw,270px);margin:0;padding:10px 10px 0;transform-origin:center center;box-shadow:0 6px 10px #492b2426,0 20px 35px #492b241c;backface-visibility:hidden;will-change:transform;transition:opacity .2s;pointer-events:none}
.memory-carousel .holiday-print img{width:100%;aspect-ratio:1;object-fit:contain;pointer-events:none;-webkit-user-drag:none;filter:none}
.memory-carousel .holiday-print figcaption{min-height:52px;font:11px/1.4 'IBM Plex Mono',monospace;letter-spacing:-.4px;gap:8px}
.memory-carousel .holiday-print figcaption span{font-size:9px;opacity:.75}
.memory-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 24px 28px;margin-top:-10px}
.memory-controls button{border:1px solid #0b394866;background:#fffdf2;color:var(--azure);border-radius:50%;width:44px;height:44px;cursor:pointer;display:grid;place-items:center;font:22px/1 DM,sans-serif;box-shadow:2px 3px 0 #0b39481a}
.memory-controls button:hover{background:var(--azure);color:var(--bone)}
.memory-controls button:focus-visible{outline:3px solid var(--azure);outline-offset:4px}
.memory-controls [data-memory-pause]{border-radius:30px;width:auto;min-width:112px;padding:0 18px;font-size:13px}
.memory-count{font:11px 'IBM Plex Mono',monospace;min-width:65px;text-align:center;font-variant-numeric:tabular-nums}
.memory-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Without JS all photographs remain available in a horizontal, native scroll list. */
.memory-carousel:not([data-ready]) .memory-stage{overflow-x:auto;height:auto;perspective:none}
.memory-carousel:not([data-ready]) .holiday-polaroids{position:relative;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:24px;padding:30px}
.memory-carousel:not([data-ready]) .holiday-print{position:relative;left:auto;top:auto;flex:0 0 240px;transform:none}
.memory-carousel:not([data-ready]) .memory-controls{display:none}
@media(min-width:1700px){.memory-stage{height:520px}.memory-carousel .holiday-print{top:130px}}
@media(max-width:700px){.memory-carousel{margin:45px -22px 0}.memory-intro h2{font-size:27px}.memory-intro p{font-size:10px}.memory-stage{height:355px;margin-top:14px;perspective:850px}.memory-carousel .holiday-print{width:min(62vw,245px);top:45px;padding:9px 9px 0}.memory-carousel .holiday-print figcaption{font-size:10px;min-height:48px}.memory-controls{margin:0;padding-bottom:14px;gap:9px}.memory-count{font-size:10px;min-width:53px}}
@media(prefers-reduced-motion:reduce){.memory-carousel .holiday-print{transition:none;will-change:auto}}

.memory-controls button[hidden]{display:none}
