.album-trigger{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;transition:color .2s ease}.album-trigger:hover{color:var(--rose)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.locker-stage{z-index:3}.locker-card{width:min(520px,92vw);padding:3.5rem 3rem 3rem;text-align:center;background:rgba(255,255,255,.68);box-shadow:0 20px 50px rgba(0,0,0,.1);position:relative}.locker-card::before{content:"";position:absolute;inset:12px;border:1px dashed rgba(76,5,25,.22);pointer-events:none}.locker-mark{width:50px;height:50px;border:1px solid rgba(190,18,60,.35);border-radius:50%;margin:0 auto 1.5rem;display:grid;place-items:center;color:var(--rose);font-size:1.6rem}.locker-card h1{font:600 clamp(2.6rem,5vw,4rem)/.95 "Playfair Display",serif;letter-spacing:-.05em;margin:.25rem 0 1.25rem}.locker-card h1 em{font:400 1.05em Kalam,cursive;color:var(--rose)}.locker-card>p:not(.story-kicker):not(.locker-error){margin:0 auto 1.35rem;color:#7f1d3b}.locker-card form{display:flex;gap:.6rem;justify-content:center}.locker-card input{width:220px;min-height:48px;padding:0 .9rem;border:1px solid rgba(76,5,25,.22);background:#fffaf5;color:var(--ink);font:400 1rem "DM Sans",sans-serif;outline:none}.locker-card input:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(190,18,60,.12)}.locker-card form button{min-height:48px;border:0;background:var(--rose);color:#fffaf5;padding:0 1rem;font:600 .85rem "DM Sans",sans-serif;cursor:pointer}.locker-error{min-height:1.3rem;margin:1rem 0 0;color:#9f1239;font-size:.85rem}.album-modal{position:fixed;inset:0;z-index:130;background:rgba(76,5,25,.28);display:grid;place-items:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .35s var(--ease-layout),visibility .35s}.album-modal.is-open{opacity:1;visibility:visible}.album-sheet{width:min(920px,100%);max-height:min(720px,90vh);overflow:auto;background:var(--cream);padding:2rem;box-shadow:0 28px 80px rgba(0,0,0,.23);transform:translateY(24px) scale(.98);transition:transform .45s var(--ease-text)}.album-modal.is-open .album-sheet{transform:translateY(0) scale(1)}.album-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.6rem}.album-header h2{margin:0;font:600 clamp(2rem,4vw,3.3rem)/.9 "Playfair Display",serif;letter-spacing:-.05em}.album-close{width:42px;height:42px;border:1px solid rgba(76,5,25,.2);border-radius:50%;background:transparent;color:var(--ink);font:300 2rem/1 "DM Sans",sans-serif;cursor:pointer;transition:transform .2s ease,background .2s ease}.album-close:hover{transform:rotate(90deg);background:#f3e8e2}.photo-index{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.index-photo,.index-note{aspect-ratio:1/1.18;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease-text),transform .4s var(--ease-text)}.album-modal.is-open .index-photo,.album-modal.is-open .index-note{opacity:1;transform:translateY(0)}.album-modal.is-open .index-two{transition-delay:.08s}.album-modal.is-open .index-three{transition-delay:.16s}.album-modal.is-open .index-note{transition-delay:.24s}.index-photo{background:#e9d8c7;background-image:linear-gradient(135deg,rgba(255,250,245,.7),rgba(190,18,60,.16)),radial-gradient(circle at 75% 20%,rgba(190,18,60,.3) 0 10%,transparent 10.5%),radial-gradient(circle at 25% 78%,rgba(76,5,25,.14) 0 15%,transparent 15.5%);outline:1px solid rgba(0,0,0,.1)}.index-two{background-color:#d7d4ba;background-image:linear-gradient(135deg,rgba(255,250,245,.65),rgba(54,83,58,.24)),radial-gradient(circle at 75% 20%,rgba(54,83,58,.35) 0 10%,transparent 10.5%)}.index-three{background-color:#ead2ca}.index-photo span{font:400 1.2rem Kalam,cursive;color:rgba(76,5,25,.6)}.index-photo p,.index-note p{margin:0;font:400 .88rem/1.2 Kalam,cursive;color:rgba(76,5,25,.75)}.index-note{border:1px dashed rgba(76,5,25,.35);align-items:center;justify-content:center;gap:.8rem;text-align:center;color:var(--rose)}.index-note span{font:300 2.6rem/1 "DM Sans",sans-serif}body.final-view .dot-grid{background-image:radial-gradient(rgba(71,98,81,.5) .5px,transparent .6px)}body.final-view .proposal-stage .story-kicker,body.final-view .proposal-stage h2 em{color:#476251}body.final-view .proposal-note{color:#6b7d6f}body.final-view .yes-button{background:#476251;box-shadow:0 15px 30px rgba(71,98,81,.3)}body.final-view .yes-button:hover{box-shadow:0 18px 36px rgba(71,98,81,.42)}body.final-view .no-button{background:#dedbd4;color:#57534e}.success-overlay{background:rgba(26,51,39,.95)}.success-content .story-kicker{color:#d5b765}.success-content h2 em{color:#d5b765}.success-content p:last-child{color:#dfe8de}.heart{color:#d5b765}@media(max-width:760px){.locker-card{padding:2.5rem 1.3rem 2rem}.locker-card form{flex-direction:column}.locker-card input{width:100%}.photo-index{grid-template-columns:repeat(2,1fr)}.album-sheet{padding:1.35rem}.index-photo,.index-note{min-height:150px}}
