.cv-anniversary-inner {padding-bottom:15px;}
.cv-memories {padding-bottom:28px;}
.cv-memory-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:3px;}
.cv-memory-heading>p {font:500 13px/1.5 var(--sans);color:#805a40;margin:0;}
.cv-memory-controls {display:flex;gap:8px;flex-shrink:0;}
.cv-memory-controls button {width:44px;height:44px;border:1px solid #c7aa88;border-radius:50%;background:#fffaf2;color:#6e3c2a;cursor:pointer;font-size:20px;}
.cv-memory-controls button:disabled {opacity:.35;cursor:default;}
.cv-memory-rail {--cv-photo-height:clamp(180px,19vw,225px);display:flex;align-items:center;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b28c69 transparent;overscroll-behavior-inline:contain;padding:12px 6px 18px;scroll-padding-inline:6px;}
.cv-memory {display:block;position:relative;flex:0 0 auto;height:var(--cv-photo-height);width:calc(var(--cv-photo-height) * 1.5);box-sizing:content-box;scroll-snap-align:start;border:5px solid #fffaf2;border-bottom-width:15px;border-radius:3px;background:#fffaf2;box-shadow:0 5px 10px #57351e20;transform:rotate(var(--cv-tilt));transition:transform .2s ease;}
.cv-memory:nth-child(3n+1) {--cv-tilt:-1.1deg;}
.cv-memory:nth-child(3n+2) {--cv-tilt:1deg;}
.cv-memory:nth-child(3n) {--cv-tilt:-.5deg;}
.cv-memory.cv-memory-portrait {width:calc(var(--cv-photo-height) * .8);}
.cv-memory img {display:block;width:100%;height:100%;object-fit:contain;background:#fffaf2;}
.cv-memory-number,.cv-memory-open {position:absolute;bottom:7px;color:#673b29;background:#fffaf2e8;font:500 11px/1.4 var(--sans);padding:4px 7px;border-radius:3px;}
.cv-memory-number {left:7px;letter-spacing:.08em;}
.cv-memory-open {right:7px;font-size:14px;}
.cv-memory-controls button:focus-visible,.cv-memory:focus-visible,.cv-memory-rail:focus-visible {outline:2px solid #8c5236;outline-offset:3px;}
@media(hover:hover) {.cv-memory:hover {transform:translateY(-3px) rotate(0deg);}}
@media(max-width:600px) {.cv-memory-rail {--cv-photo-height:190px;gap:14px;}.cv-memory-heading>p {font-size:12px;}}
@media(prefers-reduced-motion:reduce) {.cv-memory {transition:none;transform:none!important;}}
