.greeting-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.greeting-actions .bouquet-invitation{margin-top:0;background:#fff6f84d;box-shadow:none;font-weight:500}
.memories-invitation{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:1px solid #a94b72;padding:13px 22px;border-radius:99px;text-decoration:none;background:#a94b72;color:#fffaf6;font-size:.85rem;min-height:46px;box-shadow:inset 0 1px 0 #fce5ed33,0 8px 24px #93486217;transition:transform .35s var(--ease),background .3s;animation:arrival 1s .35s var(--ease) backwards}
.memories-invitation svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3}
.memories-invitation:hover{background:#923e61;transform:translateY(-2px)}
.memories-invitation:active{transform:scale(.97)}
.memory-peek{position:relative;display:flex;align-items:center;justify-content:center;gap:0;width:max-content;margin:26px auto -16px;isolation:isolate}
.memory-peek img{display:block;width:65px;height:80px;object-fit:cover;padding:5px 5px 12px;background:#fffaf5;box-shadow:0 5px 15px #612c4021;transform:rotate(-9deg);transition:transform .45s var(--ease)}
.memory-peek img:nth-child(2){transform:translateY(-5px) rotate(4deg);z-index:1;margin:0 -9px}
.memory-peek img:nth-child(3){transform:rotate(12deg)}
.memory-peek:hover img:first-child{transform:translate(-5px,-3px) rotate(-13deg)}
.memory-peek:hover img:last-child{transform:translate(5px,-3px) rotate(15deg)}
.gallery-open{overflow:hidden}
.draft-preview-banner{position:relative;margin:0;padding:10px 20px;text-align:center;background:#a34f73;color:#fffaf5;font-size:.68rem;letter-spacing:.03em;z-index:7}
.gallery-open .ambient{opacity:.3}
.returning-home .intro *,.returning-home .envelope-stage,.returning-home .masthead *{animation-name:none}
.memories-view{position:fixed;inset:0;z-index:15;overflow-y:auto;overscroll-behavior:contain;background:#fff9f4;color:var(--ink);scrollbar-width:thin;scrollbar-color:#d9a1b5 #fff9f4}
.memories-view:before{content:"";position:absolute;top:0;right:0;width:min(54vw,580px);height:520px;background:url(lilies.png) right top/auto 760px no-repeat;opacity:.22;pointer-events:none;mask-image:linear-gradient(#000,transparent)}
.memories-top{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:24px;min-height:86px;padding:13px clamp(22px,5vw,80px);background:#fff9f4f2;border-bottom:1px solid #9c657325;backdrop-filter:blur(8px)}
.memories-brand{font:2rem Parisienne,cursive;color:#a7466e;text-decoration:none}
.memories-top nav{display:flex;align-items:center;gap:20px;margin-left:auto}
.quiet-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;background:none;padding:4px 0;color:#895568;font-size:.78rem;text-decoration:none}
.quiet-link:hover{color:#b13269}
.memories-content{max-width:1440px;padding:0 clamp(22px,5vw,80px);margin:auto}
.memories-heading{position:relative;text-align:center;padding:72px 0 50px}
.memory-eyebrow{font:500 .65rem Manrope,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:#986478;line-height:1.7;margin:0 0 17px}
.memories-heading h2{font:400 clamp(3.4rem,7vw,6.6rem)/1.02 'Cormorant Garamond',serif;letter-spacing:-.04em;margin:0;color:#612c40;outline:none}
.memories-heading h2 em{font-weight:400;color:#ad4d73}
.memories-subtitle{font:400 1.18rem/1.5 'Cormorant Garamond',serif;color:#8b6d76;margin:20px auto 0;max-width:560px;white-space:pre-line}
.chapter-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px;padding:10px 0 28px}
.chapter-card{display:block;text-align:left;border:0;padding:0;background:none;text-decoration:none;color:inherit;min-width:0}
.chapter-cover{display:block;position:relative;aspect-ratio:4/5;background:#f3e5e3;padding:10px;box-shadow:0 12px 35px #7b3b5010;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s}
.chapter-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.chapter-card:hover .chapter-cover{transform:translateY(-5px);box-shadow:0 17px 35px #7b3b501e}
.chapter-card:hover img{transform:scale(1.025)}
.chapter-card h3{font:500 clamp(1.5rem,2.5vw,2.1rem)/1.2 'Cormorant Garamond',serif;margin:18px 0 6px;letter-spacing:-.02em}
.chapter-card p{font-size:.68rem;letter-spacing:.07em;color:#987985;margin:0}
.chapter-card.all-photos .chapter-cover{background:#f6e7eb;padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center}
.chapter-card.all-photos img{height:auto;aspect-ratio:3/4;padding:5px;background:#fffaf5;transform:rotate(-7deg);box-shadow:0 8px 18px #6b304621}
.chapter-card.all-photos img:nth-child(2){transform:translateY(15px) rotate(7deg)}
.chapter-trail{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:0 0 24px;position:relative}
.chapter-trail a{flex-shrink:0;display:inline-flex;align-items:center;padding:10px 16px;min-height:44px;border:1px solid #dac3c9;color:#8e5a6f;border-radius:99px;font-size:.72rem;text-decoration:none;background:#fffcf8}
.chapter-trail a[aria-current]{border-color:#a94b72;color:#fff;background:#a94b72}
.photo-grid{position:relative;width:100%;min-height:20px}
.memory-print{position:absolute;display:block;border:0;background:#fffefb;box-shadow:0 4px 18px #71334910;padding:8px 8px 0;text-align:left;color:var(--ink);text-decoration:none;transition:box-shadow .35s,transform .35s var(--ease);overflow:hidden}
.memory-print:hover{box-shadow:0 9px 26px #71334924}
.memory-print:focus-visible{outline-offset:3px;z-index:2}
.memory-print img{width:100%;height:auto;display:block;background:#f3e7e8}
.memory-print .print-note{display:block;height:41px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:12px 4px;font:400 .69rem/1.4 Manrope,sans-serif;color:#8d6473}
.print-note:empty:after{content:"♡";color:#c88ca3;font-size:.9rem}
.gallery-feedback{text-align:center;font:1.3rem/1.6 'Cormorant Garamond',serif;color:#956a7b;padding:36px 20px;max-width:650px;margin:0 auto}
.gallery-feedback:empty{padding:0}
.gallery-feedback .empty-lily{display:block;width:110px;height:125px;object-fit:contain;margin:12px auto 25px;opacity:.8}
.gallery-feedback h3{font:400 2.5rem/1.1 Parisienne,cursive;color:#ac577a;margin:14px 0}
.gallery-feedback p{margin:12px 0}
.gallery-feedback button,.load-memories{border:1px solid #d3a6b7;background:#fffaf6;border-radius:99px;padding:12px 22px;min-height:46px;color:#a05272;font:.75rem Manrope,sans-serif;cursor:pointer}
.load-memories{display:flex;gap:20px;align-items:center;justify-content:center;margin:40px auto 15px}
.memories-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:65px 0 0;padding:25px 0 30px;border-top:1px solid #9c65732b;color:#9b7986;font-size:.68rem}
.memories-footer i{font:1.65rem Parisienne,cursive;color:#a34f71;margin-left:5px}
#memory-viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;background:#fffaf6;overflow:hidden;z-index:30;display:none;flex-direction:column}
#memory-viewer[open]{display:flex}
#memory-viewer::backdrop{background:#4d2b3fba;backdrop-filter:blur(6px)}
.viewer-bar{display:flex;justify-content:space-between;align-items:center;min-height:76px;padding:12px 28px;gap:20px;border-bottom:1px solid #9c657322}
.viewer-count{font-size:.68rem;letter-spacing:.16em;color:#8d6575;text-transform:uppercase}
.viewer-bar>div{display:flex;gap:10px}
.viewer-bar button,.viewer-navigation button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d7b9c4;border-radius:50%;background:#fffaf6;font-size:1.4rem;color:#975273;transition:background .2s}
.viewer-bar button:hover,.viewer-navigation button:hover{background:#f5e6ed}
.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1;min-height:0;padding:26px 36px;gap:36px;align-items:center}
.viewer-stage{position:relative;display:grid;place-items:center;height:100%;min-height:0;overflow:hidden}
.viewer-photo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 8px 24px #68304715;touch-action:pan-y}
.viewer-stage.zoomed{display:block;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}
.viewer-stage.zoomed .viewer-photo{width:200%;max-width:none;max-height:none;cursor:zoom-out}
.viewer-notes{max-height:100%;overflow:auto;padding:20px 0;align-self:center}
.viewer-caption{font:400 clamp(1.45rem,2.2vw,2rem)/1.4 'Cormorant Garamond',serif;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 20px}
.viewer-date{font-size:.72rem;color:#a0848e}
.viewer-error{font-size:.8rem;color:#9a4568;line-height:1.6}
.viewer-loading{position:absolute;bottom:12px;border-radius:99px;padding:9px 15px;background:#fffaf5ed;color:#975273;font-size:.72rem}
.viewer-navigation{display:flex;align-items:center;justify-content:center;gap:26px;padding:12px 20px 20px;min-height:76px}
.viewer-navigation span{font:italic 1rem 'Cormorant Garamond',serif;color:#997b86}
.viewer-navigation button:disabled{opacity:.25}
@media(min-width:1200px){.chapter-collection{gap:46px 34px}.chapter-card.all-photos{grid-column:span 1}}
@media(max-width:760px){
 .greeting-actions{justify-content:center;gap:10px;margin-top:26px}.greeting-actions .bouquet-invitation{font-size:.72rem;padding:11px 15px}.memories-invitation{font-size:.75rem;padding:12px 17px;gap:8px}
 .memory-peek{margin-top:20px}.memory-peek img{width:48px;height:59px;padding:4px 4px 9px}
 .memories-top{min-height:72px;padding:10px 20px;gap:13px}.memories-brand{font-size:1.65rem}.memories-top nav{gap:12px}.quiet-link{font-size:.7rem}.memories-top .music-toggle{width:44px}
 .memories-content{padding:0 20px}.memories-heading{padding:48px 0 34px}.memory-eyebrow{font-size:.57rem;letter-spacing:.14em;margin-bottom:15px}.memories-heading h2{font-size:clamp(3rem,11vw,4.8rem)}.memories-subtitle{font-size:1.08rem;margin-top:17px}
 .chapter-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 17px}.chapter-cover{padding:6px}.chapter-card h3{font-size:1.5rem;margin:13px 0 5px}.chapter-card p{font-size:.6rem}.chapter-card.all-photos .chapter-cover{padding:12px;gap:5px}
 .chapter-trail{padding-bottom:22px;gap:7px}.chapter-trail a{font-size:.65rem;padding:10px 13px}
 .memory-print{padding:5px 5px 0}.memory-print .print-note{height:34px;font-size:.6rem;padding:9px 3px}
 .memories-footer{margin-top:40px;font-size:.6rem}.memories-footer>span:first-child{max-width:150px;line-height:1.6}
 .viewer-bar{min-height:64px;padding:9px 17px}.viewer-count{font-size:.59rem;letter-spacing:.1em}
 .viewer-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:0;padding:15px 17px 0;align-items:stretch}
 .viewer-notes{max-height:150px;padding:20px 3px 0;width:100%}.viewer-caption{font-size:1.35rem;line-height:1.3;margin-bottom:8px}.viewer-notes .memory-eyebrow{margin-bottom:8px}.viewer-date{font-size:.65rem}
 .viewer-navigation{min-height:70px;padding:12px 20px}.viewer-navigation span{font-size:.95rem}
 .gallery-feedback{padding-left:10px;padding-right:10px;font-size:1.2rem}.gallery-feedback h3{font-size:2.3rem}
}
@media(max-width:380px){.memories-top nav{gap:9px}.memories-brand{font-size:1.4rem}.memories-top{gap:10px;padding-left:16px;padding-right:16px}.memories-content{padding:0 16px}.memories-top .music-toggle{width:40px;min-height:44px;border-color:transparent;background:transparent}}
@media(prefers-reduced-motion:reduce){.memories-invitation{animation:none}*{scroll-behavior:auto!important}}
