/* Personal photo prints: the existing rose-paper world, with the group's own memories. */
.memories-section{background:var(--paper-light);overflow:clip}
.memories-heading{padding:75px var(--margin) 12px;display:flex;justify-content:space-between;gap:30px;align-items:end}
.memories-heading h2{margin-bottom:20px}.memories-heading p{color:var(--muted);max-width:48ch;margin-bottom:0;line-height:1.85}
.memories-heading>.text-button{white-space:nowrap;margin-bottom:5px}
.memory-track{height:175svh;min-height:1180px;position:relative}
.memory-pin{position:sticky;top:0;height:100svh;min-height:770px;max-height:1200px;display:flex;flex-direction:column;justify-content:center;padding:25px var(--margin) 20px;overflow:hidden}
.memory-stage{display:grid;grid-template-columns:1fr 1.85fr 1fr;gap:clamp(20px,3vw,54px);align-items:center;perspective:1800px;transform-style:preserve-3d;max-width:1550px;width:100%;margin:0 auto;min-height:650px}
.memory-column{display:flex;flex-direction:column;gap:28px;transform-style:preserve-3d}
.memory-column-left{transform:translateY(calc(-22px + var(--memory-progress,0)*72px)) rotateY(calc(-9deg + var(--memory-progress,0)*14deg)) rotateZ(-5deg)}
.memory-column-right{transform:translateY(calc(22px - var(--memory-progress,0)*64px)) rotateY(calc(9deg - var(--memory-progress,0)*16deg)) rotateZ(5deg)}
.memory-print{padding:9px 9px 0;margin:0;background:var(--paper);box-shadow:0 22px 35px -24px #54223570;min-width:0;transform-style:preserve-3d}
.memory-photo{display:block;position:relative;width:100%;padding:0;background:transparent;overflow:hidden;transition:transform .3s var(--ease)}
.memory-photo img{display:block;width:100%;height:auto;transition:transform .65s var(--ease)}
.memory-photo:hover img{transform:scale(1.025)}.memory-photo:focus-visible{outline-offset:3px;outline-width:2px}
.memory-print figcaption{font-family:var(--display);font-style:italic;font-size:18px;line-height:1.25;padding:13px 3px 15px;color:var(--ink);text-align:center;min-height:47px}
.print-main{position:relative;z-index:2;transform:translateY(calc(16px - var(--memory-progress,0)*35px)) translateZ(calc(45px + var(--memory-progress,0)*55px)) rotateY(calc(6deg - var(--memory-progress,0)*12deg)) rotateZ(calc(-3deg + var(--memory-progress,0)*6deg));padding:12px 12px 0}
.print-main figcaption{font-size:22px;padding:17px 5px 20px}.print-main img{aspect-ratio:2560/2010;object-fit:contain}
.print-dinner{width:78%;align-self:flex-end;transform:rotateZ(8deg)}.print-pose{width:81%;align-self:flex-start;transform:rotateZ(-7deg)}.print-rose{width:76%;align-self:flex-end;transform:rotateZ(2deg)}
.memory-scroll-note{text-align:center;font-family:var(--display);font-size:23px;font-style:italic;margin:20px 0;color:var(--muted)}
.memory-film{position:relative;isolation:isolate;overflow:hidden;background:var(--wine);color:var(--paper-light);padding:65px max(var(--margin),calc((100vw - 1280px)/2));display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:70px}
.film-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:.14;z-index:-1;pointer-events:none}
.film-copy{max-width:670px}.film-copy h3{font-size:clamp(38px,4.3vw,62px);line-height:1.08;margin-bottom:30px}.film-copy>p{color:var(--paper);font-size:16px;line-height:1.9;margin-bottom:30px}
.film-copy .button{gap:26px;margin-bottom:30px}.film-next{display:flex;align-items:center;gap:18px;font-size:14px;width:fit-content;min-height:44px;text-underline-offset:6px}.film-next:hover{text-decoration:underline}.film-status{margin-top:10px!important;margin-bottom:0!important;font-size:13px!important;min-height:0}
.film-frame{width:min(100%,275px);justify-self:center;transform:rotate(3deg);background:var(--paper);padding:9px;border-radius:5px;box-shadow:0 22px 45px -22px #24111b80;transition:transform .45s var(--ease)}
.film-frame:focus-within,.film-frame.is-playing{transform:none}.film-frame video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:var(--dark);border-radius:2px;object-fit:contain}
.memory-dialog{width:min(1100px,94vw);max-height:94svh;padding:20px;background:var(--paper-light);overflow:auto}
.memory-dialog>.dialog-close{position:absolute;right:20px;top:20px;background:var(--paper-light);box-shadow:0 6px 15px -4px #54223540}
.memory-dialog>img{display:block;width:100%;max-height:76svh;object-fit:contain;background:var(--paper)}
.memory-lightbox-footer{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:15px 0 0}.memory-lightbox-footer p{font-family:var(--display);font-size:24px;line-height:1.3;text-align:center;margin:0}
.memory-lightbox-footer .icon-button{flex-shrink:0}.gift-section{padding-bottom:60px}
.gift-box:not(.is-gone) .gift-bow{transition:transform .5s var(--ease)}.gift-box:not(.is-gone):hover .gift-bow{transform:translateZ(31px) rotate(-5deg)}
.riddle-choices button.wrong-answer{animation:gentle-shake .32s ease}.riddle-choices button.correct{animation:answer-pop .3s var(--ease)}
@keyframes gentle-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes answer-pop{from{transform:scale(.975)}to{transform:scale(1)}}
.reduced-motion .memory-track{height:auto;min-height:0}.reduced-motion .memory-pin{position:relative;height:auto;min-height:0;padding-top:60px;padding-bottom:40px}.reduced-motion .memory-stage{min-height:650px}.reduced-motion .memory-column,.reduced-motion .print-main{transform:none}
@media(min-width:1600px){.memory-stage{max-width:1500px;grid-template-columns:1fr 1.8fr 1fr}.memory-pin{padding-top:40px}.memory-column{gap:32px}.print-main{max-width:650px}.memory-film{padding-top:80px;padding-bottom:80px}.film-frame{width:295px}}
@media(max-width:1000px){.memories-heading{align-items:start}.memories-heading>.text-button{font-size:12px}.memories-heading p{font-size:14px}.memory-stage{gap:22px;min-height:570px;grid-template-columns:.9fr 1.8fr .9fr}.memory-print{padding:6px 6px 0}.memory-print figcaption{font-size:15px;min-height:43px;padding:11px 2px}.print-main figcaption{font-size:19px}.memory-column{gap:35px}.memory-pin{min-height:720px}.memory-film{gap:35px;padding-top:55px;padding-bottom:55px}.film-frame{width:245px}.film-copy h3{font-size:45px}}
@media(max-width:700px){
 .site-header nav{gap:13px}.site-header nav a{font-size:12px}.wordmark{font-size:26px;gap:6px}
 .memories-heading{padding:60px var(--margin) 15px;display:block}.memories-heading h2{font-size:44px;margin-bottom:20px}.memories-heading p{font-size:15px;max-width:32ch}.memories-heading>.text-button{font-size:13px;margin-top:20px}
 .memory-track{height:auto;min-height:0}.memory-pin{position:relative;height:auto;min-height:0;max-height:none;padding:22px var(--margin) 45px;overflow:visible}.memory-stage{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;min-height:0;perspective:1000px}
 .print-main{grid-column:1/-1;grid-row:1;transform:rotate(-2deg);width:100%;padding:8px 8px 0}.print-main figcaption{font-size:21px;padding:16px 4px}
 .memory-column{gap:25px;transform:none}.memory-column-left{grid-column:1}.memory-column-right{grid-column:2;padding-top:24px}
 .memory-print figcaption{font-size:16px;min-height:0;line-height:1.3;padding:11px 2px}.print-dinner{width:94%;align-self:end;transform:rotate(-3deg)}.print-outdoors{transform:rotate(3deg)}.print-pose{width:94%;transform:rotate(3deg)}.print-rose{width:96%;transform:rotate(-3deg)}
 .memory-scroll-note{font-size:21px;line-height:1.4;max-width:25ch;margin:32px auto 0}.memory-film{display:flex;flex-direction:column;padding:45px var(--margin) 50px;gap:15px}.film-copy h3{font-size:39px;max-width:100%;margin-bottom:24px}.film-copy>p{font-size:15px;margin-bottom:23px}.film-copy>p br{display:none}.film-copy .button{font-size:13px;min-height:50px;margin-bottom:15px}.film-next{font-size:13px;gap:13px;line-height:1.8}.film-frame{width:min(72vw,255px);margin-top:15px;transform:rotate(2deg);padding:7px}.film-backdrop{object-position:center;opacity:.12}
 .memory-dialog{padding:12px;width:94vw}.memory-dialog>.dialog-close{top:15px;right:15px;width:36px;height:36px}.memory-dialog>img{max-height:71svh}.memory-lightbox-footer{gap:10px;padding-top:13px}.memory-lightbox-footer p{font-size:21px}.memory-lightbox-footer .icon-button{width:34px}
 .reduced-motion .memory-stage{min-height:0}.reduced-motion .memory-pin{padding-top:22px}
}
@media(prefers-reduced-motion:reduce){.memory-track{height:auto;min-height:0}.memory-pin{position:relative;height:auto;min-height:0;max-height:none;padding-top:40px;padding-bottom:40px}.memory-column,.print-main{transform:none!important}.memory-scroll-note{margin-top:30px}}
