/* A quiet editorial ending to the couple's composed day. Images remain framed
   at their native card size instead of being stretched into a panorama. */
#composeOverlay .memoryFinale[hidden],
#composeOverlay .memoryStage[hidden],
#composeOverlay .memoryEnding[hidden]{display:none!important}
#composeOverlay .memoryFinale{
 position:fixed;inset:0;z-index:30;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
 overflow:auto;background:#20241e;color:#f6f0e8;isolation:isolate;padding:clamp(18px,2.8vw,40px);
}
#composeOverlay .memoryBackdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(circle at 83% 18%,#a4606429,transparent 33%),radial-gradient(circle at 11% 82%,#c6a67a1f,transparent 31%),linear-gradient(145deg,#292c26,#171b17 75%)}
#composeOverlay .memoryFinale:before{content:"";position:absolute;inset:10px;border:1px solid #e9d8be36;pointer-events:none}
#composeOverlay .memoryHeader,#composeOverlay .memoryFooter{display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:2}
#composeOverlay .memoryHeader span{font:600 11px/1.4 Arial,sans-serif;letter-spacing:.25em;color:#ede1d0}
#composeOverlay .memoryHeader i{font-style:normal;color:#d1a4a3;margin:0 1em}
#composeOverlay .memoryHeaderActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
#composeOverlay .memoryHeader button{min-height:44px;padding:9px 18px;border:1px solid #e9d8be8c;border-radius:999px;background:#151b18;color:#faf0e4;font:600 11px Arial,sans-serif;letter-spacing:.12em;cursor:pointer}
#composeOverlay .memoryHeader button:hover,#composeOverlay .memoryHeader button:focus-visible,#composeOverlay .memoryEndingActions button:hover,#composeOverlay .memoryEndingActions button:focus-visible{background:#e8d5c8;color:#20241e;outline:2px solid #f7e9d5;outline-offset:3px}
#composeOverlay .memoryStage{width:min(100%,1260px);margin:auto;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(24px,5vw,86px);padding:42px 2vw}
#composeOverlay .memoryStageCopy{align-self:center}
#composeOverlay .memoryStageCopy>span,#composeOverlay .memoryEnding>span{font:600 11px/1.5 Arial,sans-serif;letter-spacing:.23em;color:#d6afa8}
#composeOverlay .memoryStageCopy h2{font:normal clamp(48px,6.2vw,100px)/.92 Georgia,serif;letter-spacing:-.05em;margin:22px 0 30px;max-width:7.5em;color:#f6f0e8}
#composeOverlay .memoryStageCopy p{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.22em;color:#dbd0c1;margin:0 0 9px}
#composeOverlay .memoryStageCopy strong{display:block;font:italic normal clamp(25px,2.7vw,42px)/1.2 Georgia,serif;color:#dbb4b0;max-width:12em}
#composeOverlay .memoryPhotograph{width:min(100%,650px);margin:0 auto;transform:rotate(1deg)}
#composeOverlay .memoryImageWell{position:relative;aspect-ratio:1.48;overflow:hidden;background:#252921;border:clamp(8px,1.3vw,16px) solid #e8e0d4;box-shadow:0 32px 80px #0008,0 0 0 1px #e8d7bb68}
#composeOverlay .memoryImageWell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.035);transition:opacity .72s ease,transform 2.1s ease}
#composeOverlay .memoryImageWell img.is-active{opacity:1;transform:scale(1)}
#composeOverlay .memoryPhotograph figcaption{color:#d1c4b6;margin:15px 3px 0;font:10px/1.4 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
#composeOverlay .memoryFooter{font:10px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#c9bfaf}
#composeOverlay .memoryFooter>span{max-width:47ch}
#composeOverlay .memorySteps{display:flex;gap:8px;align-items:center}
#composeOverlay .memorySteps i{display:block;width:20px;height:2px;background:#e8d9c263;transition:background .3s,width .3s}
#composeOverlay .memorySteps i.is-current{width:35px;background:#e5b6b2}
#composeOverlay .memoryEnding{width:min(100%,990px);margin:auto;text-align:center;padding:36px 14px 48px}
#composeOverlay .memoryPrints{display:flex;justify-content:center;align-items:center;min-height:clamp(140px,22vw,260px);margin:20px auto 26px;padding:18px 0 8px}
#composeOverlay .memoryPrints figure{flex:0 0 clamp(96px,13vw,164px);aspect-ratio:4/4.8;background:#eee6d9;border:7px solid #eee6d9;border-bottom-width:22px;margin:0 -8px;box-shadow:0 12px 35px #0008;transform:translateY(var(--rise,0)) rotate(var(--angle,0));animation:memoryPrintArrive .65s both;animation-delay:calc(var(--order,0) * .1s)}
#composeOverlay .memoryPrints img{width:100%;height:100%;object-fit:cover;display:block}
#composeOverlay .memoryEnding h2{font:normal clamp(38px,5vw,72px)/1.05 Georgia,serif;letter-spacing:-.035em;max-width:13em;margin:18px auto 28px;color:#f5efe7}
#composeOverlay .memoryEndingActions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
#composeOverlay .memoryEndingActions button{min-height:48px;padding:12px 22px;border:1px solid #e5d2bba8;border-radius:30px;background:transparent;color:#f7ede0;font:600 11px Arial,sans-serif;letter-spacing:.12em;cursor:pointer}
#composeOverlay .memoryEndingActions button:first-child{background:#e8d5c8;color:#20241e}
#composeOverlay .composeMemoryLine{color:#dfbdb8;font:italic clamp(18px,2vw,27px)/1.4 Georgia,serif;margin:8px 0 22px}
#composeOverlay .composeReplay{min-height:44px;margin:0 0 20px;padding:10px 16px;border:1px solid #d4b29c;background:transparent;color:#f2e6d7;font:600 11px Arial,sans-serif;letter-spacing:.12em;cursor:pointer}
#composeOverlay .composeReplay:hover,#composeOverlay .composeReplay:focus-visible{background:#e8d5c8;color:#20241e}
@keyframes memoryPrintArrive{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
@media(max-width:760px){
 #composeOverlay .memoryFinale{padding:19px 18px max(18px,env(safe-area-inset-bottom))}
 #composeOverlay .memoryFinale:before{inset:6px}
 #composeOverlay .memoryHeader span{font-size:9px;letter-spacing:.14em}
 #composeOverlay .memoryHeader i{margin:0 .35em}
 #composeOverlay .memoryHeader button{padding:8px 12px;font-size:10px}
 #composeOverlay .memoryStage{grid-template-columns:1fr;gap:17px;padding:28px 2px;align-content:center}
 #composeOverlay .memoryStageCopy h2{font-size:clamp(43px,11vw,74px);max-width:11em;margin:11px 0 13px}
 #composeOverlay .memoryStageCopy p{font-size:10px;margin-bottom:2px}
 #composeOverlay .memoryStageCopy strong{font-size:clamp(22px,6vw,32px)}
 #composeOverlay .memoryPhotograph{width:min(100%,540px);transform:rotate(.5deg)}
 #composeOverlay .memoryImageWell{border-width:8px}
 #composeOverlay .memoryPhotograph figcaption{font-size:8px;margin-top:8px}
 #composeOverlay .memoryFooter>span{font-size:8px;max-width:26ch}
 #composeOverlay .memorySteps i{width:9px}
 #composeOverlay .memorySteps i.is-current{width:18px}
 #composeOverlay .memoryEnding{padding:26px 5px}
 #composeOverlay .memoryPrints{min-height:145px;margin:18px auto}
 #composeOverlay .memoryPrints figure{flex-basis:clamp(56px,18vw,110px);border-width:4px;border-bottom-width:11px;margin:0 -5px}
 #composeOverlay .memoryEnding h2{font-size:clamp(32px,9vw,54px)}
}
@media(max-width:380px){#composeOverlay .memoryHeader span{max-width:18ch}#composeOverlay .memoryStage{padding:15px 2px}#composeOverlay .memoryStageCopy h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){#composeOverlay .memoryFinale *,#composeOverlay .memoryFinale *:before,#composeOverlay .memoryFinale *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{#composeOverlay .memoryFinale,#composeOverlay .composeReplay{display:none!important}#composeOverlay .composeMemoryLine{color:#4e3734!important}}
